八月 16, 2023
摘要:在本教程中,我们为您提供了常见的 psql 命令列表,可帮助您更快、更有效地从 PostgreSQL 数据库服务器查询数据。
目录
1) 连接 PostgreSQL 数据库
以下命令使用特定用户连接到数据库。按下Enter
后 PostgreSQL 将会询问用户的密码。
psql -d database -U user -W
例如,要使用postgres
用户连接到dvdrental
数据库,可以使用以下命令:
C:\Program Files\PostgreSQL\9.5\bin>psql -d dvdrental -U postgres -W
Password for user postgres:
dvdrental=#
如果要连接到运行在另一台主机上的数据库,请添加 -h 选项,如下所示:
psql -h host -d database -U user -W
如果您想使用 SSL 模式进行连接,只需指定它,如以下命令所示:
psql -U user -h host "dbname=db sslmode=require"
2) 切换连接到新数据库
连接到数据库后,您可以将连接切换到指定user
用户下的新数据库。之前的连接将被关闭。如果省略user
参数,则假定为当前的用户。
\c dbname username
以下命令以postgres
用户连接到dvdrental
数据库:
postgres=# \c dvdrental
You are now connected to database "dvdrental" as user "postgres".
dvdrental=#
3) 列出可用的数据库
要在当前 PostgreSQL 数据库服务器中列出所有数据库,可以使用\l
命令:
\l
4) 列出可用的表
要在当前数据库中列出所有表,可以使用\dt
命令:
\dt
请注意,此命令只显示当前连接的数据库中的所有表。
5) 描述一个表
要描述一个表,例如列、类型、列修饰符等,可以使用以下命令:
\d table_name
6) 列出可用模式
要列出当前连接的数据库中的所有模式,请使用\dn
命令。
\dn
7) 列出可用函数
要列出当前数据库中的可用函数,请使用\df
命令。
\df
8) 列出可用视图
要列出当前数据库中的可用视图,请使用\dv
命令。
\dv
9) 列出用户及其角色
要列出所有用户及其分配的角色,请使用\du
命令:
\du
10) 执行上一条命令
要检索 PostgreSQL 服务器的当前版本,请使用如下的version()
函数:
SELECT version();
现在,您想节省再次键入上一个命令的时间,可以使用\g
命令来执行上一个命令:
\g
psql 再次执行前面的命令,即前面的 SELECT 语句。
11) 命令历史
要显示执行过的命令历史记录,请使用该\s
命令。
\s
如果要将命令历史记录保存到文件中,则需要在\s
命令后面指定文件名,如下所示:
\s filename
12) 从文件执行 psql 命令
如果您想从文件执行 psql 命令,请使用如下的\i
命令:
\i filename
13) 获取有关 psql 命令的帮助
要了解所有可用的 psql 命令,请使用\?
命令。
\?
要获取有关特定 PostgreSQL 语句的帮助,请使用\h
命令。
例如,如果您想了解 ALTER TABLE 语句的详细信息,可以使用以下命令:
\h ALTER TABLE
14) 打开查询执行时间
要打开查询执行时间,请使用\timing
命令。
dvdrental=# \timing
Timing is on.
dvdrental=# select count(*) from film;
count
-------
1000
(1 row)
Time: 1.495 ms
dvdrental=#
您可以使用相同的\timing
命令将其关闭。
dvdrental=# \timing
Timing is off.
dvdrental=#
15) 在您自己的编辑器中编辑命令
如果您可以在您喜欢的编辑器中键入命令,这将非常方便。要在 psql 中执行此操作,请执行\e
命令。发出命令后,psql 将打开由 EDITOR 环境变量定义的文本编辑器,并将您在 psql 中输入的最新命令放入编辑器中。
在编辑器中键入命令,并保存和关闭编辑器后,psql 将执行该命令并返回结果。
当您在编辑器中编辑一个函数时,它会更有用。
\ef [function name]
16) 切换输出选项
psql 支持某些类型的输出格式,并允许您动态地配置输出的格式。
\a
命令从对齐列输出切换到非对齐列输出。\H
命令将输出格式化为 HTML 格式。
17) 退出 psql
要退出 psql,您可以使用\q
命令并按enter
退出 psql。
\q
在本教程中,您学习了如何使用 psql 命令在 PostgreSQL 中执行各种常用任务。