1
Postgresql 数据库常用命令
psql
Name
psql -- PostgreSQL 交互终端
Synopsis
psql [option...] [dbname [username]]
描述
psql 是一个以终端为基础的 PostgreSQL 前端。它允许你交互地键入查询,把它们发出给 PostgreSQL, 然后
看看查询的结果。另外,输入可以来自一个文件。还有, 它提供了一些元命令和多种类 shell 地特性来实现书
写脚本以及对大量任务的自动化。
选项
-a
--echo-all
在读取行时向标准输出打印所有内容。 这个选项在脚本处理时比交互模式时更有用。这个选项等效于设置变量
ECHO 为 all。
-A
--no-align
切换为非对齐输出模式。(缺省输出模式是对齐的。)
-c command
--command command
声明 psql 将执行一条查询字串, command,然后退出。这一点在 shell 脚本里很有用。
command 必须是一条完全可以被服务器分析的查询字串(也就是说,它不包含 psql 特有的特性), 或者是一个
反斜杠命令。这样你就不会混合 SQL 和 psql 元命令。要想混合使用,你可以把字串定向到 psql 里,象这样:
echo "/x // select * from foo;" | psql。
如果命令字串包含多个 SQL 命令,那么他们在一个事务里处理, 除非在字串里包含了明确的 BEGIN/COMMIT 命
令把他们分成多个事务。 这个和从 psql 的标准输入里给它填充相同字串不同。
-d dbname
--dbname dbname
声明想要联接的数据库名称。等效于在命令行行上把 dbname 声明为第一个非选项参数。
-e
--echo-queries
把所有发送给服务器的查询同时也拷贝到标准输出。 等效于把变量 ECHO 设置为 queries。
-E
--echo-hidden
回显由/d 和其他反斜杠命令生成的实际查询。 你可以使用这个命令学习 psql 的内部操作。 这等效于在 psql
里设置变量 ECHO_HIDDEN。
-f filename
--file filename
使用 filename 作为命令的语句源而不是交互式读入查询。 在处理完文件后,psql 结束。这个选项在很多方面
等效于内部命令 /i。
如果 filename 是 -(连字符),则从标准输入读取。
使用这个选项与用 psql < filename 有微小的区别。通常,两者都回按照你预期那样运行,但是使用 -f 打开
了一些很好的特性, 比如带行号的错误信息。而且,使用这个选项还有可能有减小启动负荷的机会。 另一方面,
如果你把所有内容手工输入, 使用 shell 输入定向的方式(理论上)能保证生成和你已经得到的完全一样的输
出(译注:重复运行命令)。
-F separator
--field-separator separator
使用 separator 作为域分隔符。等效于 /pset fieldsep 或 /f。
-h hostname
--host hostname
声明正在运行服务器的主机名。 如果主机名以斜杠开头,则它被用做到 Unix 域套接字的路径。
-H
--html
打开 HTML 格式输出。等效于 /pset format html 或 /H 命令。
-l
--list
列出所有可用的数据库,然后退出。其他非联接选项将被忽略。类似于内部命令 /list。
-o filename