这是本节的多页打印视图。 点击此处打印.

返回本页常规视图.

命令行选项

本节包含适用于 vsql 的命令行选项。

常规选项

‑‑command command
‑c command
运行一个命令,然后退出。此命令在 shell 脚本中很有用。
‑‑dbname {{< codevar >}}dbname{{< /codevar >}}
‑d {{< codevar >}}dbname{{< /codevar >}}
指定要连接到的数据库的名称。此命令的作用等于将 dbname 指定为命令行中的第一个非选项实参。
‑‑file filename
‑f filename
使用文件 filename 作为命令的源,而不以交互方式读取命令。处理完文件之后,vsql 将终止。
‑‑help
显示有关 vsql 命令行实参的帮助并退出。
‑‑timing
‑i
启用 \timing 元命令。
‑‑list
‑l
返回所有可用数据库并退出。忽略其他非连接选项。此命令类似于内部命令 \list
‑‑set assignment
‑‑variable assignment
‑v assignment
执行变量分配,类似于 vsql 命令 \set
‑‑version ‑V
输出 vsql 版本并退出。
‑‑no‑vsqlr
‑X
禁用所有命令行编辑和历史记录功能。

连接选项

‑4
在双堆栈环境中解析主机名时,首选 IPv4 地址。
‑6
在双堆栈环境中解析主机名时,首选 IPv6 地址。
‑B server:port[,...]
设置连接的备份服务器/端口。使用以逗号分隔的多个主机(默认设置:未设置)。如果使用 IPv6 地址,请用方括号([ 和 ])将地址括起来,并将端口放在方括号之外。例如 \B [2620:0:a13:8a4:9d9f:e0e3:1181:7f51]:5433
‑‑enable‑connection
‑load‑balance ‑C
启用连接负载均衡(默认设置:未启用)。
‑‑host hostname
‑h hostname
指定了服务器正在其上面运行的计算机的主机名。
‑k krb‑service
提供 Kerberos 主体的服务名称部分(默认设置:vertica)。-k 的作用等于使用驱动程序的 KerberosServiceName 连接字符串。
‑K krb‑host
提供 Kerberos 主体的实例或主机名部分。-K 的作用等于驱动程序的 KerberosHostName 连接字符串。
‑‑sslmode
‑m
指定用于建立与服务器的 SSL 连接的策略。选项为 require、prefer、allow 和 disable。设置 VSQL_SSLMODE 变量也可以达到同样效果。如果该变量已设置,命令行选项会覆盖它。
‑‑port {{< codevar >}}port{{< /codevar >}}
‑p {{< codevar >}}port{{< /codevar >}}
指定服务器用来侦听连接的 TCP 端口或本地套接字文件扩展名。默认使用端口 5433。
‑‑username username
‑U username
username 用户身份而非默认用户身份连接到数据库。
‑w password
指定数据库用户的密码。
‑‑password
‑W
强制 vsql 在连接到数据库之前提示输入密码。密码不会显示在屏幕上。即使使用元命令 \connect 更改数据库连接,仍会为整个会话设置此选项。

输出格式

‑‑no‑align
‑A
切换到未对齐输出模式。(默认输出模式为对齐模式。)
‑b
在命令完成后发出嘟声。
‑‑field‑separator separator
‑F separator
指定未对齐输出的字段分隔符(默认分隔符:"|")(‑P fieldsep=)。(请参阅 ‑A ‑‑no‑align。)此命令的作用等于 \pset fieldsep\f
‑‑html
‑H
打开 HTML 表格格式输出。此命令的作用等于 \pset format html\H 命令。
‑‑pset {{< codevar >}}assignment{{< /codevar >}}
‑P {{< codevar >}}assignment{{< /codevar >}}
可用于在命令行中以 \pset 样式指定输出选项。必须用等号 (=) 而非空格来分隔名称和值。因此,若要将输出格式设置为 LaTeX,您应编写 ‑P format=latex
‑Q
打开尾随记录分隔符。使用 \pset trailingrecordsep 可以开关尾随记录分隔符。
‑‑record‑separator {{< codevar >}}separator{{< /codevar >}}
‑R {{< codevar >}}separator{{< /codevar >}}
使用 separator 作为记录分隔符。此命令的作用等于 \pset recordsep 命令。
‑‑tuples‑only
‑t
禁用列名称和结果行计数表尾等的输出。它的作用等于 vsql 元命令 \t
‑‑table‑attr {{< codevar >}}options{{< /codevar >}}
‑T {{< codevar >}}options{{< /codevar >}}
可用于指定要放置在 HTML table 标记中的选项。有关详细信息,请参阅 \pset
‑‑expanded
‑x
启用扩展表格式设置模式。它的作用等于 vsql 元命令 \x

输入选项和输出选项

‑‑echo‑all
‑a
在读取输入行时将所有输入行输出为标准输出。在进行脚本处理时,此方法比交互模式更有用。此选项的作用等于将变量 ECHO 设置为 all
‑‑echo‑queries
‑e
将发送到服务器的所有 SQL 命令复制到标准输出。此命令的作用等于将变量 ECHO 设置为 queries。
‑E
显示由内部命令生成的查询。
‑n
禁用命令行编辑。
‑‑output {{< codevar >}}filename{{< /codevar >}}
‑o {{< codevar >}}filename{{< /codevar >}}
将所有查询输出写入到 filename。此命令的作用等于使用 vsql 元命令 \o
‑‑quiet
‑q
指定 vsql 以安静模式工作(无信息输出,例如欢迎消息)。此选项可与 -c 选项结合使用。在 vsql 中,设置 QUIET 变量也可以达到相同效果。
‑‑single‑step
‑s
在单步模式下运行以调试脚本。强制要求 vsql 在将每个语句发送到数据库之前发出提示,以便取消执行。
‑‑single‑line ‑S
在单行模式下运行,在此模式下,换行符与分号一样会终止 SQL 命令。

1 - -A --no-align

-A--no‑align 切换到未对齐输出模式。默认输出模式为对齐模式。

2 - -a --echo-all

-a--echo-all 在读取输入行时将所有输入行输出为标准输出。在进行脚本处理时,此选项比交互模式更有用。此选项的作用等于将变量 ECHO 设置为 all

3 - -c --command

-c command\--command command 将运行单个命令并在运行后退出。此命令在 shell 脚本中很有用。

可以使用以下两者之一:

  • 一个命令字符串,该命令字符串可由不包含特定于 vsql 的功能的服务器完全解析。

  • 单个元命令

不能将 SQL 元命令和 vsql 元命令一起使用。但是,可以按如下所示将字符串传送到 vsql:

echo "\\timing\\\\select * from t" | ../Linux64/bin/vsql
                Timing is on.
                i | c | v
                ---+---+---
                (0 rows)

4 - -d --dbname

-d db‑name or \--dbname db‑name 指定要连接的数据库的名称。此选项的作用等于将 db‑name 指定为命令行中的第一个非选项实参。

5 - -E

-E 显示由内部命令生成的查询。

6 - -e --echo-queries

-e \--echo-queries 同时将发送到服务器的所有 SQL 命令复制到标准输出。此选项的作用等于将变量 ECHO 设置为 queries

7 - -F --field-separator

-F separator or \--field-separator separator 指定未对齐输出的字段分隔符(默认分隔符:"|")(-P fieldsep=)。(请参阅 -A \--no-align。)它的作用等于 \pset fieldsep\f

若要将字段分隔符值设置为一个控制字符,请使用 shell 的控制字符转义符号。在 Bash 中,可以使用美元符号 ($) 后跟加单引号的字符串的形式在实参中指定控制字符。此字符串可以包含 C 字符串转义(例如 \t 表示制表符)或反斜线 (\),后跟要使用的字符的八进制值。

以下示例演示了如何将分隔符字符设置为制表符 (\t)、垂直制表符 (\v) 以及垂直制表符的八进制值 (\013)。

$ vsql -At -c "SELECT * FROM testtable;"
A|1|2|3
B|4|5|6

$ vsql -F $'\t' -At -c "SELECT * FROM testtable;"
A       1       2       3
B       4       5       6

$ vsql -F $'\v' -At -c "SELECT * FROM testtable;"
A
 1
  2
   3
B
 4
  5
   6
$ vsql -F $'\013' -At -c "SELECT * FROM testtable;"
A
 1
  2
   3
B
 4
  5
   6

8 - -f --file

-f filename\--file filename 使用 filename 作为命令的源,而不以交互方式读取命令。处理完文件之后,vsql 将终止。

如果 filename 是连字符 (-),则会读取标准输入。

使用此选项与编写 vsql < filename 不同。使用 -f 可启用部分附加功能(例如,带行号的错误消息)。相反,使用 shell 的输入重定向的变体始终应生成与您在手动输入所有内容时已获取的输出完全相同的输出。

9 - ?--help

-? \--help 显示有关 vsql 命令行实参的帮助并退出。

10 - -H --html

-H \--html 打开 HTML 表格格式输出。此选项的作用等于 \pset format html\H 命令。

11 - -h --host

-h hostname\--host hostname 指定了服务器正在其上面运行的计算机的主机名。使用此标志远程连接到 Vertica。

具有以下要求和限制:

  • 如果您将客户端身份验证与 gsskrb5 的 Kerberos 连接方法结合使用,则必须指定 -h hostname

  • 如果要从本地连接连接到 Vertica,但要将身份验证记录访问方法 HOST(而不是 LOCAL)结合使用,请使用 -h 选项。

12 - -i -- timing

启用 \timing 元命令。您只能将此命令与 -c --command-f --file 命令一起使用:

$VSQL -h host1 -U user1 -d VMart -p 15 -w ****** -i -f transactions.sql

您只能将 -i-c(命令)和 -f(文件名)命令一起使用。有关详细信息,请参阅命令行选项

从命令行输入 -i 选项,然后运行会话以打开计时。例如:

$VSQL -h host1 -U user1 -d VMart -p 15 -w ****** -i -f transactions.sql
$VSQL-h host1 -U user1 -d VMart -p 15 -w ****** -i -c "SELECT user_name,
ssl_state, authentication_method, client_authentication_name, client_type FROM sessions
WHERE session_id=(SELECT session_id FROM current_session);"

13 - -l --list

-l--list 返回所有可用数据库并退出。忽略其他非连接选项。此命令类似于内部命令 \list

14 - -m --sslmode

-m--sslmode 指定用于建立与服务器的 SSL 连接的策略。选项为 verify_fullverify_ca requirepreferallowdisable。设置 VSQL_SSLMODE 变量也可以达到同样效果。如果该变量已设置,命令行选项会覆盖它。

有关这些模式的信息,请参阅 为 ODBC 客户端配置 SSL。

15 - -n

-n 禁用命令行编辑。

16 - -o --output

-o filename\--output filename 将所有查询输出写入 filename。它的作用等于 vsql 元命令 \o

17 - -P --pset

-P assignment\--pset assignment 可用于在命令行中以 \pset 样式指定输出选项。请注意,必须用等号而非空格来分隔名称和值。因此,若要将输出格式设置为 LaTeX,您应编写 -P format=latex

18 - -p --port

-p port\--port port 指定服务器用来侦听连接的 TCP 端口或本地套接字文件扩展名。默认使用端口 5433。

19 - -q --quiet

-q--quiet 指定 vsql 以安静模式工作。默认情况下,它会输出欢迎消息和各种信息输出。如果使用此选项,则这些信息均不显示。此选项可与 -c 选项结合使用。在 vsql 中,设置 QUIET 变量也可以达到相同效果。

20 - -R --record-separator

-R separator\--record-separator separator 指定将 separator 作为记录分隔符。它的作用等于 \pset recordsep 命令。

21 - -S --single-line

-S \--single-line 在单行模式下运行,在此模式下,换行符与分号一样会终止 SQL 命令。

22 - -s --single-step

-s \--single-step 在单步模式下运行以调试脚本。强制要求 vsql 在将每个语句发送到数据库之前发出提示,以便取消执行。

23 - -T --table-attr

-T table‑options\--table-attr table‑options 允许您指定要放置在 HTML table 标记中的选项。有关详细信息,请参阅 \pset

24 - -t --tuples-only

-t--tuples-only 禁用列名称和结果行计数表尾等的输出。它的作用等于 vsql 元命令 \t

25 - -V --version

-V--version 输出 vsql 版本并退出。

26 - -v --variable --set

-v assignment\--variable assignment\--set assignment 指定变量分配,类似于 vsql 元命令 \set

若要取消设置变量,请省略等号。若要设置不具有值的变量,请使用等号而省略值。请在早期启动阶段执行这些分配,以便可以在稍后覆盖预留用于内部用途的变量。

27 - -X --no-vsqlrc

-X \--no-vsqlrc 防止读取启动文件(系统范围 vsqlrc 文件或用户的 ~/.vsqlrc 文件)。

28 - -x --expanded

-x--expanded 启用扩展表格式设置模式。它的作用等于 vsql 元命令 \x