psql参数

概要:
psql [ option… ] [ dbname [ username ]]

选项:

  • -a
    –echo-all
    在读取所有非空输入行时将其打印到打印到标准输出(不适用于交互方式读取的行)。相当于将变量ECHO设置为all

  • -A
    –no-align
    切换到未对齐的输出模式(默认输出模式以其它方式对齐)。

  • -b
    –echo-errors
    将失败的SQL命令打印到标准错误输出。相当于将变量ECHO设置为错误。

  • -c
    –command = command
    指定psql执行给定的命令字符串。可以使用-f选项以任何顺序和组合此选项。当任意-c或-f指定,psql不从标准输入读取命令;相反,它在按顺序处理所有-c和-f选项后终止。

    命令必须是服务器可完全解析的命令字符串(即不包含psql特定的功能)或单个反斜杠命令。因此不能在-c选项中混合使用SQL和psql元命令。要实现这一点,可重复使用-c选项或者将字符串传递给psql,例如:

    psql -c '\ x' -c 'SELECT * FROM foo;'
    或
    echo '\ x \\ SELECT * FROM foo;' | PSQL
    (\\是分隔符元命令)
    

    传递给-c的每个SQL命令字符串都作为单个查询发送到服务器。因此,即使字符串包含多个SQL命令,服务器也会将其作为单个事务执行,除非字符串中包含明确的BEGIN/COMMIT命令将其划分为多个事务。此外,psql仅打印字符串中最后一个SQL命令的结果。这与从文件读取相同字符串或发送到psql的标准输入时的行为不同,因为psql分别发送每个SQL命令。

    将多个命令放在单个-c字符串中通常会产生意外结果。最好使用重复的-c命令或将多个命令提供给psql的标准输入

  • -d dbname
    –dbname = dbname
    指定要连接的数据库的名称。这相当于将 dbname指定为命令行上的第一个非选项参数
    如果此参数包含=或以有效的URL前缀(postgresql://或postgres://)开头,则将其是为conninfo字符串。

  • -e
    –echo-queries
    将发送到服务器的所有SQL命令也复制到标准输出。这相当于变量ECHO设置为查询。

  • -E
    –echo-hidden
    回显\d和其他反斜杠命令生成的实际查询。可以使用它来研究psql的内部操作。这相当与将变量ECHO_HIDDEN设置为on。

  • -f filename
    –file = filename
    从文件filename中读取命令,而不是标准输入。可以使用-c选项以任何顺序重复和组合此选项。当任意-c或-f指定,psql不从标准输入读取命令;相反,它在按顺序处理所有-c和-f选项后终止。除此之外,此选项在很大程度上等同于元命令\i

    如果filename是- (连字符),则读取标准输入直到EOF只是或\q元命令。这可以用于将交互式输入与来自文件的输入交叉。但请注意,在这种情况下不能使用Readline(就像指令了-n一样)。

  • -F
    –field-separator = separator
    使用分隔符separator作为为对齐输出的字段分隔符。这相当与 \pset fieldsep or \f

  • -h hostname
    –host = hostname
    指定运行服务器的计算机的主机名。如果值以斜杠开头,则将其用作Unix域套接字的目录

  • -H
    –html
    打开HTML表格输出。这相当于\pset format html或\H命令。

  • -l
    –list
    列出所有可用的数据库,然后提出。其他非连接选项将被忽略。这类似与元命令\list

  • -L filename
    –log-file = filename
    除了正常输出目标之外,将所有查询输出写入文件filename

  • -n
    –no-readline
    不要使用Readline进行行编辑,也不要使用命令历史记录。这在切割和粘贴时关闭标签扩展非常有用。

  • -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应该静默执行其工作。默认情况下,他会打印欢迎消息和各种信息输出。如果使用此选项,则不会发生这种情况。这对-c选项很优雅。这相当于变量QUIET设置为on。

  • -R separator
    –record-separator = separator
    使用separator作为未对齐输出的记录分隔符。这相当与\pset recordsep命令。

  • -s
    –single-step
    以single-step模式运行。这意味着在将每个命令发送到服务器之前会提示用户,并且还可以选择取消执行。可使用它来调试脚本。

  • -S
    –single-line
    以single-line模式运行,其中换行符终止SQL命令,如同“;”。

  • -t
    –tuples-only
    关闭列名称和结果行计数页脚等的打印。这相当于\t命令。

  • -T table_options
    –table-attr = table_options
    指定要放在HTML table标记中的选项。

  • -U username
    –username = username
    以用户名username而不是默认用户名连接到数据库。(username必须获得许可)

  • -v assignment
    –set = assignment
    –variable = assignment
    执行变量复制,例如\set meta-command。请注意,必须在命令行上使用等号分割名称和值。要取消设置变量请不要使用等号。要设置具有控制的变量,请使用等号,但不要使用该值。这些分配是在启动的早期阶段完成的,因此为内部目的保留的变量可能会在以后被覆盖。

  • -V
    –version
    打印psql版本并退出。

  • -w
    –no-password
    永远不要发出密码提示。如果服务器需要密码身份验证,并且其他方式(如.pgpass文件)无法使用密码,则连接尝试将失败。此选项在没有用户输入密码的批处理作业和脚本中非常有用。
    请注意,此选项将保持为整个会话设置,因此它会影响元命令\connect的使用以及初始连接尝试。

  • -W
    –password
    强制psql在连接到数据库之前提示输入密码。
    该选项永远不是必须的,因为如果服务器需要密码身份验证,psql将自动提示输入密码。但是,psql将浪费连接尝试,发现服务器需要密码。某些情况下值得输入-W以避免额外的连接尝试。
    请注意,此选项将保持为整个会话设置,因此它会影响元命令\connect的使用以及初始连接尝试。

  • -x
    –expanded
    打开扩展表格式化模式。这相当于\x命令。

  • -X
    –no-psqlrc
    不要读取启动文件(系统范围的psqlrc文件和用户~/.psqlrc文件)。

  • -z
    –record-separator-zero
    将未对齐输出到记录分隔符设置为零字节。

  • 3
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值