PostgreSQL客户端工具psql命令帮助

2019-04-04 43次浏览 发表评论

psql 是 PostgreSQL 中的一个命令行交互式客户端工具,它允许你交互地键入 SQL 命令,然后把它们发送给 PostgreSQL 服务器,再显示 SQL 或命令的结果。

输入的内容允许来自一个文件,此外它还提供了一些元命令和多种类似 shell 的特性来实现书写脚本,以及对大量任务的自动化工作。

特性:方便快捷、没有图形化工具使用上的一些限制。

psql命名格式如下:

psql -h <hostname or ip> -p <端口> [数据库名称] [用户名称]

例:
psql -h 192.168.0.10 -p 5432 testdb postgres

登录

[root@localhost ~]# su - postgres                   # 切换到postgres用户
Last login: Thu Apr 4 01:03:21 EDT 2019 on pts/0

[postgres@localhost ~]$ psql
psql (10.7)
Type "help" for help.

查看帮助

postgres=# \?         # 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)
Connection
\c[onnect] {[DBNAME|- USER|- HOST|- PORT|-] | conninfo} 连线到新的资料库 (目前是 "test")

\encoding [ENCODING] 显示或设定用户端字元编码
\password [USERNAME] 修改用户密码
\conninfo 显示当前的连接信息
Operating System
\cd [DIR] 改变目前的工作目录
\setenv NAME [VALUE] 设置或者取消环境变量
\timing [on|off] 切换命令计时开关 (默认是off)
\! [COMMAND] 执行shell命令 or 打开内部 shell命令
Variables
\prompt [TEXT] NAME 提示用户设置内部变量
\set [NAME [VALUE]] 设置内部变量, 假如没有参数则显示所有参数
\unset NAME 取消(删除)内部变量
Large Objects
\lo_export LOBOID FILE
\lo_import FILE [COMMENT]
\lo_list
\lo_unlink LOBOID 大对象的操作

评论

随便说点,聊聊天~