用法:psql [option...] [dbname [username]]
选项
●-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。 ●-L filename --log-file filename 除了正常的输出源之外,把所有查询输出记录到文件 filename。 ●-o filename --output filename 将所有查询输出定向到文件 filename。这个选项等效于命令 o。 ●-p port --port port 声明被服务器侦听的 TCP 端口或使用的缺省本地 Unix 主控套接字文件句柄。 缺省的是环境变量PGPORT的值,如果没有设置的话是编译是声明的端口,通常是 5432。 ●-P assignment --pset assignment 允许你在命令行上以 pset的风格设置打印选项。 要注意的是你在这里用等号分割名称和值,而不能用空格。 因此要把输出格式设置为 LaTeX,你可以敲入 -P format=latex。 ●-q --quiet 声明 psql 将安静地执行处理任务。 缺省时psql将打印欢迎和许多其他输出信息。 如果使用了此选项,这些都不出现。这在和 -c 选项一起使用时很有效。在 psql 里,你可以通过设置 QUIET 变量实现同样效果。 ●-R separator --record-separator separator 使用 separator 做为非对齐输出的记录分隔符。 等效于pset recordsep命令。 ●-s --single-step 进入单步模式运行。意味着每个查询在发往服务器之前都要提示用户, 用这个选项也可以取消执行。此选项主要用于调试脚本。 ●-S --single-line 进入单行运行模式,这时每个命令都将由换行符结束,象分号那样。 注意: 注意这个模式是给那些坚持要这个特性的人的,我们不鼓励你这么用。 实际上,如果你在一行里混合使用 SQL 和元命令,执行的顺序对不熟练的用户而言不总是清晰的。 ●-t --tuples-only 关闭打印列名称和结果行计数脚注等信息。等效于 t 命令。 ●-T table_options --table-attr table_options 允许你声明放在 HTML table 标记里的选项。 参阅 pset 获取细节。 ●-u 强制 psql 在和数据库联接之提示输入用户的用户名和口令。 这个选项已经废弃了,因为它在概念上有漏洞。 (提示输入非缺省用户名和提示输入服务器要求的口令是完全两码事。)我们鼓励你用 -U 和 -W 选项取代。 ●-U username --username username 以用户 username 代替缺省用户与数据库联接。(当然,你必须有这么做的权限。) ●-v assignment --set assignment --variable assignment 进行一次变量分配,象内部命令 set 那样。 注意,如果有变量名和值的话,你必须在命令行上用等号分隔它们。要重置一个变量, 去掉等号。这个分配是在启动的很早的阶段进行的,所以为内部使用保留的变量可能被再次覆盖。 ●-V --version 打印 psql 版本然后退出。 ●-W --password 强制 psql 在与一个数据库联接前提示输入口令。 如果服务器要求口令认证,psql 自动提出一个口令提示符。不过,目前是否需要输入口令的判断并不完全可靠, 因此用这个选项强制一个提示符。 如果没有发出口令提示符而服务器要求口令认证,那么联接企图将失败。 这个选项将在整个会话过程中有效,即使你用元命令 connect 改变了所联接的数据库。 ●-x --expanded 打开扩展表格式模式。等效于命令 x。 ●-X --no-psqlrc 不读取启动文件(系统的 psqlrc 或者你的 ~/.psqlrc 都不读取)。 ●-? --help 显示关于psql命令行参数的帮助然后退出。
退出状态 如果正常结束,那么 psql 向 shell 返回 0, 如果自身发生致命错误,则返回 1(内存用尽,未找到文件等), 如果和数据库的连接失效而且会话不再活跃则返回 2, 如果脚本中发生错误并且设置了 ON_ERROR_STOP 则返回 3。
元命令 你在 psql 里输入的任何以不带引号的反斜杠('')开头的东西都是 psql 元命令,这些命令是由 psql 自己处理的。这些命令也是令 psql 更可用于管理或书写脚本的原因。 元命令更常见的叫法是斜杠或反斜杠命令。 一个 psql 命令的格式是反斜杠后面紧跟一个命令动词,然后是任意参数。 参数与命令动词和其他参数以任意个空白字符间隔。 有些命令以一个 SQL 标识的名称(如,一个表名)为参数。 这些参数遵循 SQL 语法关于双引号的规则: 不带双引号的标识强制成小写, 而双引号保护字母不受大小写转换,并且允许在标识符中使用空白。 在双引号中,成对的双引号在结果名字中分析成一个双引号。比如, FOO"BAR"BAZ 解析成 fooBARbaz,而 "A weird"" name" 变成 A weird" name。
●encoding [ encoding ] 设置客户端字符编码方式。不带参数时,这条命令显示当前的编码方式。 ●i filename 从文件filename中读取并把其内容当作从键盘输入的那样执行查询。 注意: 如果你想在屏幕上看到读入的行,你必须对所有行设置变量 ECHO 为 all。 ●help (或者 h) [ command ] 给出指定 SQL 命令的语法帮助。如果没有给出 command ,那么 psql 将列出可获得语法帮助的所有命令。如果 command 是一个星号("*"),则显示所有 SQL 命令的语法帮助。 其它更多命令参数可查看帮助。 (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|