摘自:https://blog.csdn.net/aabc012/article/details/50705648

一、总览

snippet.sql
\c[onnect] [DBNAME|- USER|- HOST|- PORT|-]
  切换数据库、用户等,如\c testdb etl
 
\connectinfo         显示连接信息
 
\encoding[ENCODING]  显示或设定字符集
 
\g [FILE]    放在SQL语句后面可当“;”用,放在头部可指定输出文件,用于一次性输出
 
\q    退出psql交互终端
 
SHOW search_path; --显示当前模式
SET search_path TO new_schema;  --切换模式

二、显示设定

snippet.sql
\a            切换对齐与否      
 
\C [STRING]   设定表名,如\C 'this is a table'
 
\f [STRING]   为不对齐的查询输出设置域分隔符
 
\H            切换为HTML输出模式
 
\t [ON|off]   只显示元组,默认为off
 
\T [STRING]   使用HTML输出模式时声明放在TABLE标记里的属性。
 
\x [ON|off]   切换为每条记录一行,有时很有用
 
\pset NAME [VALUE] 以上的设定都可通过pset来设定,且有更多用法。

三、查询缓冲

snippet.sql
 \p         显示当前缓冲查询(即上次SQL语句)
 
 \e [FILE]  编辑缓冲查询,在编辑复杂的SQL时非常有用
 
 \r         清空缓冲查询        
 
 \w FILE    将缓冲查询的语句写入指定文件
 
 \ef [FUNCNAME]  编辑指定的FUNCTION,没指定则调用模板
 
 \s [FILE] 将所有的历史查询写入默认文件或指定的文件

四、 输入输出

snippet.sql
\copy ...  类似SQL的copy,不需要SQL超级用户权限但效率较低如\copy tb1 FROM /home/gpadmin/tb1.txt WITH delimiter '|'     
 
\echo [STRING]  如\echo `date`,可嵌入SQL语句文件中做提示
 
\i FILE    执行指定文件中的SQL语句
 
\o [FILE]  指定查询输出的目标文件(定向),\o回到终端
 
\g [FILE]   指定查询输出的目标文件(一次)
 
\qecho [STRING]在\o指定目标文件后可用该命令将结果输出到目标文件,\echo此时是在终端上显示
 
注意:\i和\o对于批量处理SQL和输出结果非常有用

五、操作系统

snippet.sql
\cd [DIR]          切换目录     
 
\timing [ON|off]   打开执行计时,非常有用
 
\! [COMMAND]       执行shell命令

六、列出信息

snippet.sql
\d    列出当前模式下的表、视图、序列
 
\d+   列出当前模式下的表、视图、序列及描述
 
\dS   列出当前模式和pg_catalog下的表、视图、序列
 
\dS+列出当前模式和pg_catalog下的表、视图、序列及描述
 
\d name  描述name(表、视图、索引、序列)
 
\d+ name 描述name(表、视图、索引、序列)的详细信息
 
\dS name   等同于\d name
 
\dS+ name  等同于\d+ name
 
对于Greenplum分区表可用\d+ name 逐级查看

七、逻辑结构

\l[+]                列出所有数据库           

\dn[+]  [PATTERN]    列出当前数据库下所有模式

\d[S+]               列出当前模式下所有关系

\dt[S+] [PATTERN]    列出当前模式下所有表

\dv[S+] [PATTERN]    列出当前模式下所有视图

\ds[S+] [PATTERN]    列出当前模式下所有序列

\di[S+] [PATTERN]    列出当前模式下所有索引

\dx     [PATTERN]    列出当前模式下所有外部表

\d[S+]  NAME         描述NAME

八、其他信息

snippet.sql
\dT[S+] [PATTERN]      列出数据类型
 
\do[S]  [PATTERN]      列出操作符
 
\da[S]  [PATTERN]      列出聚集函数
 
\df[antw][S+] [PATRN]  列出聚集,自定义,触发器,开窗函数
 
\dC     [PATTERN]      列出类型转换函数
 
\dc[S]  [PATTERN]      列出字符集间的转换
 
\db[+]  [PATTERN]      列出表空间
 
\dg[+]=\du[+] [PATTERN]    列出角色

启动psql的–E选项或psql中的\set ECHO_HIDDEN on命令可显示\d系列命令实际执行的SQL。