返回首页

gbase数据、南大通用产品文档:GBase8c

更新日期:2024年09月11日

变量
可以使用gsql 元命令\set 设置一个变量。例如把变量foo 的值设置为bar:
gbase=# \set foo bar
要引用变量的值,在变量前面加冒号。例如查看变量foo 的值:
gbase=# \echo :foo
bar
这种变量的引用方法适用于正规的SQL 语句和元命令。
gsql 预定义了一些特殊变量,
同时也规划了变量的取值。
为了保证和后续版本最大限度
地兼容,请避免以其他目的使用这些变量。所有特殊变量见表2-2。

所有特殊变量都由大写字母、数字和下划线组成。

GBase 8c 工具参考手册
南大通用数据技术股份有限公司
6

查看特殊变量的默认值,请使用元命令\echo :varname(例如\echo :DBNAME)。
表2-2 特殊变量设置
变量
设置方法
变量说明
DBNAME
\set DBNAME dbname
设置当前连接的数据库的名称。每次连接数据
库时都会被重新设置。
ECHO
\set ECHO all |
queries

如果设置为all,只显示查询信息。等效于
使用gsql 连接数据库时,指定-a 参数。

如果设置为queries,显示命令行和查询信
息。等效于使用gsql 连接数据库时,指定
-e 参数。
ECHO_HIDDE
N
\set ECHO_HIDDEN
on | off | noexec
当使用元命令查询数据库信息(例如\dg)时,
此变量的取值决定了查询的行为:

设置为on,先显示元命令实际调用的查询
语句,
然后显示查询结果。
等效于使用gsql
连接数据库时,指定-E 参数。

设置为off,则只显示查询结果。

设置为noexec,则只显示查询信息,不执
行查询操作。
ENCODING
\set ENCODING
encoding_type
设置当前客户端的字符集编码格式。
FETCH_COUN
T
\set FETCH_COUNT
variable

如果将该变量值设置为大于0 的整数n,

执行SELECT 语句时每次从结果集中取n
行到缓存并显示到屏幕。

如果不设置此变量,或设置的值小于等于
0,
则执行SELECT 语句时一次性把结果都
取到缓存。
说明
设置合理的FETCH_COUNT 变量值,
将减少内
存使用量。一般来说,设为100 到1000 之间的
值比较合理。
HOST
\set HOST hostname
设置已连接的数据库主机名称。
IGNOREEOF
\set IGNOREEOF

若设置此变量为整数数值n,则在gsql 中

GBase 8c 工具参考手册
南大通用数据技术股份有限公司
7
variable
输入的前
(n-1)
次EOF 字符
(通常是Ctrl+D
组合键)都会被忽略,在第n 次按EOF 字
符才能退出gsql 程序。

若设置此变量为非数值,则缺省为10。

若删除此变量,则向交互的gsql 会话发送
一个EOF 终止应用。
LASTOID
\set LASTOID oid
最后影响的oid 值,即为从一条INSERT 或
lo_import 命令返回的值。此变量只保证在下一
条SQL 语句的结果显示之前有效。
ON_ERROR_R
OLLBACK
\set
ON_ERROR_ROLLBACK
on | interactive |
off

如果设置为on,当一个事务块里的语句产
生错误的时候,这个错误将被忽略而事务
继续。

如果设置为interactive,这样的错误只是在
交互的会话里忽略。

如果设置为off(缺省),事务块里一个语
句生成的错误将会回滚整个事务。
on_error_rollback-on 模式是通过在一个事
务块的每个命令前隐含地发出一个
SAVEPOINT 的方式工作的,
在发生错误的
时候回滚到该事务块。
ON_ERROR_S
TOP
\set
ON_ERROR_STOP on |
off

如果设置为on,则命令执行错误时会立即
停止,在交互模式下,gsql 会立即返回已
执行命令的结果。

如果设置为off(缺省),则在命令执行错
误时将会跳过错误继续执行。
PORT
\set PORT port
设置当前连接数据库的端口号。
USER
\set USER username
设置当前用于连接的数据库用户。
VERBOSITY
\set VERBOSITY
terse | default |
verbose
该变量用于控制错误报告的冗余行。

如果设置为terse,仅返回严重且主要的错
误文本以及文本位置。一般适合于单行错
误信息。

如果设置为default,则返回严重且主要的
错误文本及其位置,还包括详细的错误细
节、错误提示。可能会跨越多行。

GBase 8c 工具参考手册
南大通用数据技术股份有限公司
8

如果设置为verbose,则返回所有的错误信
息。

取值:[0|1|2]
默认值:0
说明:对多distinct 表达式的重分布优化。
1. 只针对顶层
2. 全部层次。
默认关闭0。
修改方式:
可使用set 语句修改值也可在配置文件中修改值。
适用于session、
global
范围均可。

参数说明:设置语句执行时在数据库节点上收集CPU 时间的周期。
数据库管理员需根据系统资源(如CPU 资源、IO 资源和内存资源)情况,调整此数值
大小,使得系统支持较合适的收集周期,
太小会影响执行效率,
太大会影响异常处理的精确
度。
该参数属于SIGHUP 类型参数,
请参考表GUC 参数设置方式中对应设置方法进行设置。
取值范围:整型,1~INT_MAX,单位为秒。
默认值:30

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
1302