psql是PostgreSQL的一个命令行交互式客户端工具
1. 查看postgresql账号
[root@localhost ~]#cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
postgres:x:26:26:PostgreSQL Server:/var/lib/pgsql:/bin/bash
2.登陆
[root@localhost ~]# su - postgres
-bash-4.1$ psql #连接到数据库服务器,可以在其中输入相应的SQL语句或者psql的命令,psql的命令都以\开始
psql (9.6.3)
Type "help" for help.
3.查看帮助
postgres=# \? #可以看到所有的psql的可执行命令,**请注意该命令显示的是psql客户端能够使用的命令**
General
\copyright
显示 PostgreSQL 的使用和发行条款
\errverbose
尽可能的显示所有当前的错误信息
\g [FILE] or ;
执行查询命令 (并且把结果输出到文件或者管道|)
\gexec
执行查询命令, 然后在结果中显示执行完成的所有的值
\gset [PREFIX]
执行查询命令并把结果存储在psql变量中
\q
退出psql
\crosstabview [COLUMNS] 执行插叙命令并把结果显示在交叉表中
\watch [SEC]
每SEC秒执行查询命令
Help
\? [commands]
显示反斜杠命令的帮助
\? options
显示在psql命令行选项的帮助
\? variables
显示某个变量的帮助
\h [NAME]
SQL 命令语法上的说明,用 * 显示全部命令
Query Buffer
\e [FILE] [LINE]
edit the query buffer (or file) with external editor
\ef [FUNCNAME [LINE]] edit function definition with external editor
\ev [VIEWNAME [LINE]] edit view definition with external editor
\p
show the contents of the query buffer
\r
reset (clear) the query buffer
\s [FILE]
display history or save it to file
\w FILE
将查询缓存区写入档案
Input/Output
\copy ...
执行 SQL COPY,数据流指向客户端主机
\echo [STRING]
将字符串写到标准输出流
\i FILE
从文件中执行命令
\ir FILE
与\i一样, 但是相对于当前脚本的位置
\o [FILE]
把所有查询结果输出到文件或者管道|
\qecho [STRING]
把字符串写到查询输出流 (see \o)
Informational
(options: S = show system objects, + = additional detail)
\d[S+]
显示所有的 tables, views, and sequences
\d[S+] NAME
显示指定名字的 table, view, sequence, or index 的表结构
\da[S] [PATTERN]
显示所有聚合函数
\dA[+] [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+] [PATRN] 显示 [only agg/normal/trigger/window] 函数
\dF[+] [PATTERN]
显示所有文本搜索配置
\dFd[+] [PATTERN]
显示所有文本搜索字典
\dFp[+] [PATTERN]
显示所有文本搜索解析器
\dFt[+] [PATTERN]
显示所有文本搜索模板
\dg[S+] [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[S+] [PATTERN]
显示所有角色
\dv[S+] [PATTERN]
显示视图
\dE[S+] [PATTERN]
显示所有外部表
\dx[+] [PATTERN]
显示所有扩展
\dy
[PATTERN]
显示所有事件触发器
\l[+] [PATTERN]
#列出所有的数据库
\sf[+] FUNCNAME
显示函数的定义
\sv[+] VIEWNAME
显示视图的定义
\z
[PATTERN]
与\dp一样
Formatting
\a
切换不对齐和对齐的输出模式
\C [STRING]
设置表头,或者如果是none则不设置
\f [STRING]
显示或者设置未对齐输出的字段分隔符
\H
切换HTML输出模式(默认是off)
\pset [NAME [VALUE]] 设置表的输出选项
(NAME := {format|border|expanded|fieldsep|fieldsep_zero|footer|null|
numericlocale|recordsep|recordsep_zero|tuples_only|title|tableattr|pager|
unicode_border_linestyle|unicode_column_linestyle|unicode_header_linestyle})
\t [on|off]
只显示行 (当前off)
\T [STRING]
设置HTML <table> 标签的属性, 或者如果是none则不设置
\x [on|off|auto]
切换扩展输出 (当前默认 off)