提要:在本教程中,我们给出了一个常用的 psql 命令列表,可以帮助您更快,更有效地查询 PostgreSQL 数据库服务器的数据。

连接到 PostgreSQL 数据库

以下命令以特定用户连接到指定的数据库。按下回车后,PostgreSQL 将会询问该用户的密码:

psql -d database -U  user -W

下例将通过 postgres 用户连接到 sjk66 数据库:

C:\Program Files\PostgreSQL\10\bin>psql -d sjk66 -U postgres -W
用户 postgres 的口令:
psql (10.1)
输入 "help" 来获取帮助信息.

sjk66=#

如果要连接其它服务器上的数据库,可以通过 -h 选项指定服务器名:

psql -h host -d database -U user -W

比如:

C:\Program Files\PostgreSQL\10\bin>psql -h centos.sjk66.com -d sjk66 -U postgres -W
用户 postgres 的口令:
psql (10.1)
输入 "help" 来获取帮助信息.

sjk66=#

要以 SSL 模式连接,可以像下面这样:

psql -U user -h host "dbname=db sslmode=require"

切换到另一个数据库

当连接上一个数据库后,还可以切换到另一个数据库上,甚至使用不同的用户进行切换。一旦切换连接,当前的连接将被关闭。

\c dbname username

如果省略 username,将使用当前用户。

sjk66=# \c postgres
用户 postgres 的口令:
您现在已经连接到数据库 "postgres",用户 "postgres".
postgres=#

列出所有可用的数据库

要列出当前服务器上,所有的数据库,可以使用 \l 命令:

\l

列出所有可用的表

要列出当前数据库中,所有的表,可以使用 \dt 命令:

\dt

描述表

要获取表的描述,诸如字段、数据库类型等,可以使用以下命令:

\d table_name

列出所有可用的 schema

\dn

列出所有可用的函数

\df

列出所有视图

\du

再次执行上一个命令

\g

查看命令记录

\s

如果要将命令记录保存到一个文件中,可以:

\s 文件名

获取帮助

获取所有可用的 psql 命令:

\?

查看某个 PostgreSQL 语句的帮助信息:

\h 语句

比如:

\h CREATE TABLE

开启查询执行时间

要开启查询执行时间功能, 使用 \timing 命令:

\timing 

再次执行该命令,会把该功能关闭。

使用编辑器编辑命令

\e

psql

psql

更常用的情景是,使用编辑器来编辑函数:

\ef [函数名]

切换输出选项

\a:将字段对齐输出切换为不对齐输出

\H:将使用 HTML 格式输出

退出 psql

\q
上一篇:自定义数据类型
下一篇:psql命令行工具