psql 命令语法参数说明
PostgreSQL psql 命令语法参数说明
psql是PostgreSQL数据库提供的命令行终端程序,它允许我们交互地输入、编辑、执行SQL命令。使用psql进行数据库管理非常简单、轻量、高效,本站所有介绍PostgreSQL文章中的示例全部基于psql操作。
1. psql语法格式
psql是一个使用命令行交互的PostgreSQL客户端(终端),它允许你输入查询语句,然后把它们发出给PostgreSQL,再将查询结果显示出来。交互方式不仅限于输入,也可以来自一个文件。
1.1 语法结构
psql语法格式如下:
psql [OPTION]... [DBNAME [USERNAME]] |
1.2 参数说明
psql提供了一些可选参数,可以通过psql --help命令来查看所安装版本支持的参数。
通用选项
-c, --command=COMMAND:执行一条命令(或内置SQL)然后退出-d, --dbname=DBNAME:默认连接的数据库-f, --file=FILENAME:执行指定文件中的命令,然后退出-l, --list:显示所有可用数据库名,然后退出-v, --set=, --variable=NAME=VALUE:设置psql变量-V, --version:显示版本信息,然后退出-X, --no-psqlrc:不读取启动文件(系统内置的psqlrc及自定义的~/.psqlrc都不启动)-1 ("one"), --single-transaction:执行单条存储过程-?, --help:显示帮助信息,然后退出
输入输出选项
-a, --echo-all:在读取行时向标准输出打印所有内容-e, --echo-queries:打印发送到服务器的内容-E, --echo-hidden:显示内部命令生成的查询-L, --log-file=FILENAME:将查询记录到指定的文件中-n, --no-readline:命令行编辑中不使用readline-o, --output=FILENAM:将查询输出定向到指定的文件中-q, --quiet:静默处理(除查询输出外无其它输出)-s, --single-step:单步模式运行。即:每个命令在发往服务器之前都要提示用户确认,用这个选项也可以取消执行。此选项主要用于调试脚本-S, --single-line:单行运行模式,这时每个命令都将由换行符结束
输出格式选项
-A, --no-align:切换为非对齐输出模式(默认为对齐模式)-F, --field-separator=STRING:指定输出字段的分隔符(默认为“|”)-H, --html:HTML表格输出模式-P, --pset=VAR[=ARG]:切换打印风格-R, --record-separator=STRING:设置非对齐输出的记录分隔符-t, --tuples-only:仅输出数据行(关闭列名称和结果行计数脚本等)-T, --table-attr=TEXT:设置HTML表格输出模式时的HTML属性(width、border等)-x, --expanded:打开扩展表格式模式-z, --field-separator-zero:为未对齐的输出设置字段分隔符为零字节-0, --record-separator-zero:为未对齐的输出设置记录分隔符为零字
连接选项
-h, --host=HOSTNAM:连接数据库服务器的主机IP或套接字目录(默认为“local socket”)-p, --port=PORT:连接数据库服务器的端口号(默认为“5432”)-U, --username=USERNAME:要连接数据库服务器的用户名-w, --no-password:不提示密码。如果服务器需要密码验证而密码不可通过其他方式 (比如.pgpass文件)获得,则连接尝试将失败-W, --password:强制使用密码
2. psql的一些用法
整理完psql命令后,下面介绍一些psql的常场景。
2.1 数据库登录
使用postgres用户登录安装在本机的数据库:
$ psql -U postgres |
输入用户密码后,登录成功
登录IP为192.168.1.3的服务器,并连接到名为”test”的数据库:
$ psql -U postgres -H 192.168.1.3 -d test |
2.2 切换数据库
如果登录时未指定数据库,或需要切换到其它数据库,可以使用\c参数切换:
# \c dbname |
以上命令相当于mysql数据库的use dbname命令。
2.3 查看所有数据库
查看当前系统中有哪些数据库可以使用\l或\list参数:
# \l |
以上命令相当于mysql数据库的show databases命令。
2.4 查看数据库中的表
查看当前数据库中所有的表,使用\d参数:
# \d |
以上命令相当于mysql数据库的show tables命令。
2.5 查看表中的字段
查看指定表中的字段,使用\d dbtable参数:
# \d mytable |
以上命令相当于mysql数据库的desc dbtable或 show columns from dbtable命令。
2.6 查看表信息
查看表信息,使用\d+ dbtable参数:
# \d+ mytable |
以上命令相当于mysql数据库的describe dbtable命令。
2.7 退出登录
退出登录,使用\q参数:
# \q |
以上命令相当于mysql数据库的quit或\q命令。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 传礼!
评论
ValineGitalk

