世界上只有一种英雄主义,就是看清生活的真相之后依然热爱生活!

PostgreSQL客户端工具psql命令帮助

2019-04-04
216次查阅
2019/7/3

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 用户密码:
ALTER USER postgres WITH PASSWORD '123456';

 

 

查看帮助

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    大对象的操作

评论

想说点什么?