本文提供一系列常用的psql命令,能够帮助你快速和高效的从数据库中获取数据。
Connect to PostgreSQL database
1.使用psql 连接到数据库,回车后会提示你输入密码
[postgres@localhost ~]$ psql -dtest -Upostgres -W
Password for user postgres:
psql (10.7)
Type "help" for help.
test=# \q
2.如果你想连接远端的主机,可以使用-h选项
[postgres@localhost ~]$ psql -h10.110.9.85 -dtest -Upostgres -W
Password for user postgres:
psql (10.7)
Type "help" for help.
test=#
3.连接到数据库以后,可以切换到一个新的用户下,原来的连接自动断开。如果你忽略用户名参数,则使用当前用户。
[postgres@localhost data]$ psql
psql (10.7)
Type "help" for help.
postgres=# \c test
You are now connected to database "test" as user "postgres".
test=#
4.查看所有的数据库名称
postgres=# \l
5.列出当前数据库下的表
postgres=# \dt
6.查看表描述
postgres=# \d table_name
7.查看当前数据库下所有的schema
postgres=# \dn
- 查看当前数据库下所有的函数
postgres=#\df
9.查看当前数据库下所有的视图
postgres=# \dv
10.查看当前数据库下所有的角色
postgres=# \du
11.执行前一条命令
首先查询数据库当前版本
postgres=# SELECT version();
使用\g 执行上一条命令,即SELECT version();
postgres=# \g
12.查看psql所有的命令
postgres=# \?
13.查看特定命令的使用方法
比如, 如果你想知道ALTER TABLE命令的详细信息,可以执行如下命令
postgres=# \h ALTER TABLE
14.开启显示命令执行时间
test=# \timing
Timing is on.
test=# select version();
-------
PostgreSQL 10.7
Time: 83.978 ms
test=#
15.使用系统编辑器编辑命令
test=# select count(*) from baby;
test=#\e
16.psql支持输出格式化的命令,或者允许自己定制输出的格式
没有边框的列输出
test=#\a
输出HTML格式的文件
test=#\H
17.输出执行结果输出到文件中
test=#\o /tmp/test.out
test=# select version();
18.执行SQL脚本
postgres=# \i sql.sql
version
---------------------------------------------------------------------------
------------------------------
PostgreSQL 10.7 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 201506
23 (Red Hat 4.8.5-36), 64-bit
(1 row)
postgres=#