psql的命令语法是:
psql [options] [dbname [username]]
psql命令行选项以及它们的意思在表1-1中列出。使用以下命令可以看到psql完整的选项列表:
$ psql --help
表1-1 psql命令行选项
选项 | 意义 |
-a | 从脚本中响应所有输入 |
-A | 取消表数据输出的对齐模式;功能与“-P format=unaligned”相同 |
-c <查询> | 仅仅运行一个简单的查询(或者内部命令)然后退出 |
-d <数据库名> | 指定连接到的数据库名(默认为$PGDATABASE或者当前登录用户名) |
-e | 回显发送到服务器的查询 |
-E | 显示内部命令生成的查询语句 |
-f <文件名> | 执行一个文件中的查询,然后退出 |
-F <字符串> | 指定列数据显示分隔符(默认为“|”);功能与“-P fieldsep=<字符串>”相同 |
-h <主机> | 指定数据库服务器主机(默认为$PGHOST或者本地主机) |
-H | 设置表格输出模式为HTML;功能与“-P format=html”相同 |
--help | 显示帮助,然后退出 |
-l | 列出存在的数据库,然后退出 |
-n | 禁用readline;阻止行编辑 |
-o <文件名> | 将查询的输出发送到文件名指定文件(使用“|管道”的形式将输出发送到一个过滤程序) |
-p <端口> | 指定数据库服务器的端口(默认为$PGPORT或者编译期设置的默认值,通常为4321) |
-P var[=arg] | 设置打印选项var为arg(查看\pset命令) |
-q | 以静默方式运行(没有任何消息,仅有查询的输出) |
-R <字符串> | 设置记录的分隔符(默认为换行);功能与“-P recordsep=<字符串>”相同 |
-s | 设置为单步执行模式(每条查询都需要确认) |
-S | 设置单行模式(每行结束就认为查询输入结束,而不是分号) |
-t | 只打印行;功能与“-P tuples_only”相同 |
-T <文本> | 设置HTML表格标记选项(width,border等);功能与“-P tableattr=<text>”相同 |
-U <用户名> | 指定数据库用户(默认为$PGUSER或者当前登录的用户名) |
-v name=value | 设置psql变量name的值为value |
--version | 显示版本信息然后退出,也可以用“-V” |
-W | 强制提示输入密码(如果需要密码,会自动执行) |
-x | 开启扩展表格输出;功能与“-P expanded”相同 |
-X | 不读取启动文件(~/.psqlrc) |
psql内部命令快速参考
psql支持的内部命令在表1-2中列出。在很多版本的PostgreSQL中,这些命令有一些更易读的长模式(例如\list就是\l的长模式命令)。
表1-1 psql命令行选项
















