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