一、内部使用命令(进入后使用)

一般性
  \copyright            显示PostgreSQL的使用和发行许可条款
  \g [FILE] or;         执行查询 (并把结果写入文件或管道)
  \gset [PREFIX]        执行查询并把结果存到psql变量中
  \h [NAME]             SQL命令语法上的说明,用*显示全部命令的语法说明
  \q                    退出 psql
  \watch [SEC]          每隔SEC秒执行一次查询

查询缓存区
  \e [FILE] [LINE]      使用外部编辑器编辑查询缓存区(或文件)
  \ef [FUNCNAME [LINE]] 使用外部编辑器编辑函数定义
  \p                    显示查询缓存区的内容
  \r                    重置(清除)查询缓存区
  \s [FILE]             显示历史记录或将历史记录保存在文件中
  \w FILE               将查询缓存区的内容写入文件

输入/输出
  \copy ...             执行 SQL COPY,将数据流发送到客户端主机
  \echo [STRING]        将字符串写到标准输出
  \i FILE               从文件中执行命令
  \ir FILE              与 \i类似, 但是相对于当前脚本的位置
  \o [FILE]             将全部查询结果写入文件或 |管道
  \qecho [STRING]       将字符串写到查询输出串流(参考 \o)
资讯性
  (选项: S = 显示系统对象, + = 其余的详细信息)
  \d[S+]                   列出表,视图和序列
  \d[S+]  NAME             描述表,视图,序列,或索引
  \da[S]  [PATTERN]        列出聚合函数
  \db[+]  [PATTERN]        列出表空间
  \dc[S+] [PATTERN]        列表转换
  \dC[+]  [PATTERN]        列出类型强制转换
  \dd[S]  [PATTERN]        显示没有在别处显示的对象描述
  \ddp    [PATTERN]        列出缺省权限
  \dD[S+] [PATTERN]        列出共同值域
  \det[+] [PATTERN]        列出引用表
  \des[+] [PATTERN]        列出外部服务器
  \deu[+] [PATTERN]        列出用户映射
  \dew[+] [PATTERN]        列出外部数据封装器
  \df[antw][S+][PATTERN]   列出[只包括 聚合/常规/触发器/窗口]函数
  \dF[+]  [PATTERN]        列出文本搜索配置
  \dFd[+] [PATTERN]        列出文本搜寻字典
  \dFp[+] [PATTERN]        列出文本搜索解析器
  \dFt[+] [PATTERN]        列出文本搜索模版
  \dg[+]  [PATTERN]        列出角色
  \di[S+] [PATTERN]        列出索引
  \dl                      列出大对象, 功能与\lo_list相同
  \dL[S+] [PATTERN]        列出所有过程语言
  \dm[S+] [PATTERN]        列出所有物化视图
  \dn[S+] [PATTERN]        列出所有模式
  \do[S]  [PATTERN]        列出运算符
  \dO[S+] [PATTERN]        列出所有校对规则
  \dp     [PATTERN]        列出表,视图和序列的访问权限
  \drds [PATRN1 [PATRN2]]  列出每个数据库的角色设置
  \ds[S+] [PATTERN]        列出序列
  \dt[S+] [PATTERN]        列出表
  \dT[S+] [PATTERN]        列出数据类型
  \du[+]  [PATTERN]        列出角色
  \dv[S+] [PATTERN]        列出视图
  \dE[S+] [PATTERN]        列出引用表
  \dx[+]  [PATTERN]        列出扩展
  \dy     [PATTERN]        列出所有事件触发器
  \l[+]   [PATTERN]        列出所有数据库
\sf[+] FUNCNAME            显示函数定义
  \z      [PATTERN]        和\dp的功能相同

格式化
  \a                     在非对齐模式和对齐模式之间切换
  \C [PATTERN]           设置表的标题,或如果没有的标题就取消
  \f [PATTERN]           显示或设定非对齐模式查询输出的字段分隔符
  \H                     切换HTML输出模式 (目前是 关闭)
  \pset NAME [VALUE]     设定表输出选项
                         (NAME := {format|border|expanded|fieldsep|fieldsep_zero|footer|null|
                         numericlocale|recordsep|recordsep_zero|tuples_only|title|tableattr|pager})
  \t [on|off]            只显示记录 (目前是 关闭)
  \T [STRING]            设置HTML <表格>标签属性, 或者如果没有的话取消设置
  \x [on|off|auto]       切换扩展输出模式(目前是 关闭)

连接
  \c[onnect] {[DBNAME|- USER|- HOST|- PORT|-] | conninfo}   连接到新的数据库
  \encoding [ENCODING]                                      显示或设定客户端编码
  \password [USERNAME]                                      安全地为用户改变口令
  \conninfo                                                 显示当前连接的相关信息

操作系统
  \cd [DIR]              改变目前的工作目录
  \setenv NAME [VALUE]   设置或清空环境变量
  \timing [on|off]       切换命令计时开关 (目前是 关闭)
  \! [on|off]            在shell中执行命令或启动一个交互式shell

变量
  \prompt [TEXT] NAME    提示用户设定内部变量
  \set [TEXT] NAME       设定内部变量,若无参数则列出全部变量
  \unset NAME            清空(删除)内部变量

大对象
  \lo_export             LOBOID 文件
  \lo_import             文件 [注释]
  \lo_list
  \lo_unlink LOBOID      大对象运算



二、外部使用命令(Bash下使用)

使用方法:
  psql [OPTION]... [DBNAME [USERNAME]]

通用选项:
  -c, --command=COMMAND    执行一条命令 (SQL命令或内部命令) 并退出
  -d, --dbname=DBNAME      要连接的数据库名称 (默认: "postgres")
  -f, --file=FILENAME      从文件中执行命令并退出
  -l, --list               罗列可用的数据库并退出
  -v, --set=, --variable=NAME=VALUE
                           设置psql变量NAME为VALUE
  -V, --version            输出版本信息并退出
  -X, --no-psqlrc          不读取启动文件(~/.psqlrc)
  -1 ("one"), --single-transaction
                           以单个事务执行 (假设是非交互式的)
  -?, --help               显示帮助信息并退出

输入和输出选项:
  -a, --echo-all           从脚本中打印所有输入
  -e, --echo-queries       打印发送给服务器的命令
  -E, --echo-hidden        显示所有内部命令产生的查询
  -L, --log-file=FILENAME  发送session log到文件
  -n, --no-readline        不启用加强版的命令行编辑模式 (按行读取)
  -o, --output=FILENAME    发送查询结果到文件(或管道)
  -q, --quiet              安静运行 (只有查询的输出,没有其他信息)
  -s, --single-step        单步执行模式 (确认每一个查询)
  -S, --single-line        单行执行模式 (每一行就是一条SQL命令)

输出格式选项:
  -A, --no-align           非对齐表格输出模式
  -F, --field-separator=STRING
                           设置值分隔符 (默认: "|")
  -H, --html               HTML表格输出模式
  -P, --pset=VAR[=ARG]     将打印格式从VAR变为ARG (查看 \pset 命令)
  -R, --record-separator=STRING
                           设置记录分隔符 (default: newline)
  -t, --tuples-only        只打印行
  -T, --table-attr=TEXT    设置HTML表格标签属性(例如width, border)
  -x, --expanded           启用扩展的表格输出
  -z, --field-separator-zero
                           将值分隔符设置为0字节
  -0, --record-separator-zero
                           记录分隔符设置为0字节

Connection options:
  -h, --host=HOSTNAME      数据库的host或socket的目录(默认:"/var/run/postgresql")
  -p, --port=PORT          数据库服务器端口 (默认: "5432")
  -U, --username=USERNAME  数据库登陆用户名(默认: "postgres")
  -w, --no-password        不使用密码提示
  -W, --password           强制密码提示 (应该自动显现)

在psql内部输入 "\?" (用于内部命令) or "\help" (用于SQL命令) , 或查找PostgreSQL文档的psql区域获取更多信息