
Postgres 又称 ,是对象关系数据库管理的基石。经过数十年的发展,Postgres 已成为可靠、灵活、高性能的数据库。
本实践指南探讨了如何在 Postgres 中创建数据库、表和删除数据库。此外,它还展示了如何使用数据库管理工具(如 Adminer)完成相同的任务。
首先,确保系统中已安装 Postgres。如果没有,请并按照安装说明进行操作。
请记住,这里展示的命令是在 macOS 上演示的,但它们在任何操作系统上都能无缝运行。
Postgres 安装完成后,在终端中输入此命令,以验证一切运行正常:
postgres -V
该命令将返回 Postgres 安装的版本号:

Postgres 版本号。
您已经在系统上安装了 Postgres,并准备创建数据库。但如何访问数据库呢?这就是 Postgres 交互式终端(俗称 psql)的用武之地。 是 Postgres 基于终端的前端,允许你向 Postgres 发出查询,然后查看查询结果。
在安装过程中,Postgres 会在操作系统(OS)上创建一个默认超级用户,该用户拥有数据库的最终访问权限。您可以使用此命令以默认超级用户身份登录 psql 终端:
psql postgres
运行这条命令后,你应该会看到终端变成 postgres=#,表明你已经以默认超级用户身份登录。
使用 psql 的更大优势之一是元命令。通过这些强大的工具,你可以执行数据库管理任务,如连接数据库或显示表格,而无需知道确切的 SQL 命令。
要在 psql 中使用元命令,请以反斜杠 ( \ ) 开头,然后在后面加上命令。下面是几个例子:
\c <database-name> — 连接到特定的数据库。\l — 列出服务器上的所有数据库。\dt — 显示数据库中的所有表。在使用数据库时,一个好的做法是遵循最小权限原则,创建一个具有特定权限的新用户。不过,在本指南中,为了简单起见,我们还是使用默认的超级用户来创建和管理数据库。
首先,执行以下元命令,列出 Postgres 服务器上的所有用户:
\du
如果没有添加任何新用户,则只能看到默认超级用户:

本地 Postgres 服务器上的用户。
默认超级用户可能显示为 Postgres 或操作系统用户名,具体取决于系统配置。
默认情况下,超级用户没有密码。不过,为了以后管理数据库,可以使用此命令设置密码:
\password <superuser-name>
根据提示输入密码并确认。现在,你可以开始在 Postgres 服务器上创建数据库了。创建数据库的语法是 CREATE DATABASE <database-name>。
让我们先创建一个名为 sales 的数据库:
CREATE DATABASE sales;
数据库创建成功后会出现以下内容:

创建 Postgres 数据库。
现在,使用这些命令再创建两个数据库:customers 和employees:
CREATE DATABASE customers; CREATE DATABASE employees;
现在,您已经在本地 Postgres 服务器上建立了三个数据库。要列出创建的所有数据库,请使用这个元命令:
\l

本地 Postgres 服务器上的数据库。
这是您目前创建的三个数据库!你可以忽略图片中的其他数据库,因为这些数据库默认是安装 Postgres 时自带的。
现在,你可以连接到一个特定的数据库。连接任何数据库的元命令是 \c <database-name>。
运行以下命令连接 sales 数据库:
\c sales
终端中应出现以下信息:

正在连接数据库。
连接到数据库后,可以使用相同的命令轻松切换到服务器上的另一个数据库。因此,可以从 sales 数据库运行以下命令连接到 customers 数据库:
\c customers
首先,您需要创建表格,为数据库填充数据。在 Postgres 中创建表格的语法结构如下:
CREATE TABLE <table-name> ( <column1-name> <column1-datatype> <column1-constraint>, <column2-name> <column2-datatype> <column2-constraint>, <column3-name> <column3-datatype> <column3-constraint>, … … <columnN-name> <columnN-datatype> <columnN-constraint> );
首先连接 sales 数据库。
\c sales
接下来,创建包含三个不能为空的列的 products 表: product_id、product_name 和 quantity_sold:
CREATE TABLE products( Product_id INT NOT NULL, Product_name TEXT NOT NULL, Quantity_sold INT NOT NULL );
如果操作成功,您将看到以下输出:

在数据库中创建表。
接下来,使用下面的元命令验证是否已成功创建 products 表:
\dt
该命令列出了数据库中的所有表,在本例中是一个表。由于您连接的是 sales 数据库,因此应该会看到以下输出:

销售数据库中的表。
接下来,在 employees 数据库中创建两个表。之一个表将列出工资,第二个表将列出地址。要创建这些表,请运行以下命令:
\c employees CREATE TABLE salary( Employee_id INT NOT NULL, Employee_name TEXT NOT NULL, Employee_salary INT NOT NULL ); CREATE TABLE address( Employee_id INT NOT NULL, Employee_country TEXT NOT NULL, Employee_zipcode INT NOT NULL );
最后,运行 \dt 元命令确认已创建这些表。这是你应该看到的输出结果:

雇员数据库中的表。
删除数据库和创建数据库一样简单。删除数据库的语法是 DROP DATABASE <database-name>;。
删除数据库不需要连接到特定的数据库。因此,如果要删除 customers 数据库,无论连接到哪个数据库,都可以运行这条命令:
DROP DATABASE customers;
删除成功后,您将看到此屏幕:

删除 Postgres 数据库。
使用 \l 元命令列出本地 Postgres 服务器上的数据库,确认 customers 数据库已不存在。

列出本地 Postgres 服务器上的数据库。
至此,您已经通过命令行创建数据库、创建表格和删除数据库,学会了 Postgres 的基本操作。
然而,命令行可能会让人望而生畏,使用起来也很乏味。这时,像 这样的数据库管理工具就能帮上忙。您可以通过 Adminer 的图形用户界面执行上述所有数据库操作。
您还需要,以便使用 Adminer 管理数据库。打开终端,启动运行 PHP 文件的内置 *** 服务器,并导航到放置 Adminer PHP 文件的位置:
cd path/to/Adminer php file
接下来,使用以下命令启动 *** 服务器:
php -S 127.0.0.1:8000
您就可以在 *** 浏览器上使用 Adminer 用户界面了。在浏览器中输入以下地址: http://localhost:8000/<your-Adminer-php-file.php>
注:在 URL 栏输入 Adminer PHP 文件名时,确保包含 .php 文件扩展名。
您将在浏览器中看到 Adminer 用户界面(UI):

Adminer 主页用户界面。
要输入本地 Postgres 服务器,请按照以下说明填写本页面的字段:
验证成功后,你将看到之前创建的所有数据库列表,如下图所示。如果使用的是 Windows 操作系统,可能会遇到 “None of the supported PHP extensions (PgSQL, PDO_PgSQL) is available” 的错误。如果出现这种情况,请编辑 php.ini 文件并启用这些扩展。

在 Adminer 上查看 Postgres 数据库。
要创建新数据库,请单击 “Create database” 超链接:

使用 Adminer 创建新数据库。
将数据库命名为 “customers“,然后单击 “Save” 按钮。
然后,单击 Server 超链接(如下所示),验证是否已创建 customers 数据库:然后,单击创建数据库超链接:

导航到本地 Postgres 服务器。
现在你将看到 customers 数据库。点击 customers 连接到它。
可以看到,该数据库中没有表。单击 “Create table” 超链接,创建一个名为 locations 的新表格。

使用 Adminer 在数据库中创建表格。
根据下图填写相应的列,然后单击 “Save” 按钮:

在数据库中创建表格的最后一步。
现在,您应该可以在 customers 数据库中看到该表:

创建表格的确认信息。
再次单击 Server 超链接,查看所有数据库。勾选 customers 复选框。选中 customers 数据库将启用下面的下拉按钮。单击 drop 删除数据库。您将收到有关数据库删除操作的确认信息:

删除数据库的确认信息。
现在你已经学会了如何在本地 Postgres 服务器上通过命令行创建数据库、在数据库中创建表格和删除数据库。此外,您还学会了如何使用 Adminer 等数据库管理工具轻松执行这些任务。
虽然这些和其他命令行数据库和表管理 *** 都很实用,但 Adminer 的点选式用户界面让这些任务的执行更加无缝。
不久前,PHP 8.0大张旗鼓地发布了。它带来了许多新特性、性能增强和变化——其中最令人兴奋的是新的JIT编译器。 技术世界总是在向前发展,PHP也是如此。 ,包含了几个令人兴奋的特性。它定于今年晚些时候于2021年11月25日发布。 在本文中,我们将详细介绍PHP 8.1将带来哪些新的东...
Linux面板环境安装,主要支持LNMP和LAMP、Tomcat、node.js。不过对于大部分站长来说,主要是LNMP和LAMP两个环境的安装。 LNMP和LAMP两个环境的最大区别是,前者采用Nginx作为Web服务器,后者则采用Apache作为Web服务器。(选择哪个作为您的Web服务器,可...
每台连接到Internet的计算机都有一个Internet协议 (IP) 地址。但是,并非所有IP地址的外观或行为都相同。 如果您使用计算机网络或服务器,了解动态IP和静态IP之间的区别至关重要。通过详细了解每个协议,您可以选择最适合您需求的解决方案。 在本文中,我们将讨论静态和动态IP之间...
宝塔的数据库管理,是基于phpmyadmin管理和新建数据库。其最大的便利性就是类似,通过面板可以快速访问进行管理操作,无需单独访问phpmyadmin的主页。 此外,在宝塔面板进行数据库管理,你也对数据库名、用户名及密码等信息一目了然,及可以对数据库执行快速备份或者导入。 添加数据...
宝塔面板其中一个最为便捷的功能之一,无需SFTP或者FTP即可对服务器的文件内容进行上传、下载、编辑及删除等管理操作。 文件管理,用于管理该服务器上的文件内容。 文件的基础操作 文件的基础操作有哪些了,主要有这些方面:复制、粘贴、剪切、删除、重命名、压缩、刷新、新建文件、新建目录。...
JavaScript是世界上最流行的编程语言之一。今天,它为数百万个网站提供支持,并吸引了成群的开发人员和设计人员为Web构建功能。如果您是编程新手,那么 JavaScript很容易成为之一。 在最初的20年里,JavaScript主要用于客户端脚本。由于JavaScript只能在<scr...