返回首页

gbase数据、南大通用产品文档:GBase8s配置sqlhostscm1文件

更新日期:2024年09月11日

[root@CM1 ~]# cd /opt/GBASE/gbase/etc/
[root@CM1 etc]# su gbasedbt
[gbasedbt@CM1 etc]$ vim sqlhosts.cm1
内容如下:
db_group

group
-


-
i=1
gbaseserver

onsoctcp

变量
可以使用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,则返回所有的错误信
息。

为 SQL 值取得和设置精度、
小数位数、
长度和显示大小的函数对其输入参数有大小限制。
因此,这些值限定为 SDWORD 的大小,其最大值为 2,147,483,647。下表描述这些值。

数值数据类型的描述
非数值数据类型的描述
精度
最大的数字个数。
或为最大长度,
或为指定的长度。

小数位数
小数点之后数字的最大个数。
对于浮
点值,
未定义小数位数,
因为其小数
点右边的数字个数不固定。
不适用。
长度
当将一个值转换为为其缺省的 C
数据类型时,函数返回的最大字节
数。
当将一个值转换为为其缺省的
C 数据类型时,函数返回的最大
字节数。该长度不包括 NULL
终止字节。
显示大小
需要以字符形式显示数据的最大字
节数。
需要以字符形式显示数据的最大
字节数。
标准 SQL 数据类型
对于标准 GBase 8s ODBC Driver SQL 数据类型,查看精度、小数位数、长度和显示大小
的值。
下表描述标准 GBase 8s ODBC Driver SQL 数据类型的精度、
小数位数、
长度和显示大小。
GBase 8s ODBC 驱动程
序 sql 数据类型
(fSqlType)
描述
SQL_BIGINT
精度
19。对于此数据类型,SQLBindParameter 忽略
cbColDef 的值。
小数位数
0。
对于此数据类型,
SQLBindParameter 忽略 ibScale
的值。
长度
8 字节
显示大小
20 位。一位表示符号。

GBase 8s ODBC Driver 程序员指南
南大通用数据技术股份有限公司
- 54 -

GBase 8s ODBC 驱动程
序 sql 数据类型
(fSqlType)
描述
SQL_BIT
精度
1。对于此数据类型,SQLBindParameter 忽略
cbColDef 的值。
小数位数
0。
对于此数据类型,
SQLBindParameter 忽略 ibScale
的值。
长度
1 字节
显示大小
1 位
SQL_CHAR
精度
与长度相同
小数位数
不适用。对于此数据类型,SQLBindParameter 忽略
ibScale 的值。
长度
指定的长度。例如,CHAR(10) 的长度为 10 字节。

显示大小
与长度相同。
SQL_DATE
精度
10。对于此数据类型,SQLBindParameter 忽略
cbColDef 的值。
小数位数
不适用。对于此数据类型,SQLBindParameter 忽略
ibScale 的值。
长度
6 字节
显示大小
10 位,格式为 yyyy-mm-dd。
SQL_DECIMAL
精度
指定的精度。例如,DECIMAL(12, 3) 的精度是 12。

小数位数
指定的小数位数。例如,DECIMAL(12, 3) 的小数位
数是 3。
长度
指定的精度加 2。例如,DECIMAL(12, 3) 的长度是
14 字节。两个额外的字节用于符号和小数点,因为
函数作为字符串返回此数据类型。
显示大小
与长度相同。

GBase 8s ODBC Driver 程序员指南
南大通用数据技术股份有限公司
- 55 -

GBase 8s ODBC 驱动程
序 sql 数据类型
(fSqlType)
描述
SQL_DOUBLE
精度。
15。对于此数据类型,SQLBindParameter 忽略
cbColDef 的值。
小数位数
不适用。对于此数据类型,SQLBindParameter 忽略
ibScale 的值。
长度
8 字节
显示大小
22 位。这些位代表一个符号、15 个数值字符、一
个小数点、字母 E,另一符号,以及另外两个数值
字符。
SQL_INTEGER
精度
10。对于此数据类型,SQLBindParameter 忽略
cbColDef 的值。
小数位数
0。
对于此数据类型,
SQLBindParameter 忽略 ibScale
的值。
长度
4 字节
显示大小
11 位。一位代表符号。
SQL_LONGVARBINARY
精度
与长度相同。
小数位数
不适用。对于此数据类型,SQLBindParameter 忽略
ibScale 的值。
长度
最大长度。如果函数无法确定最大长度,则它返回
SQL_NO_TOTAL。
显示大小
最大长度的 2 倍。如果函数无法确定最大长度,则
它返回 SQL_NO_TOTAL。
SQL_LONGVARCHAR
精度
与长度相同。
小数位数
不适用。对于此数据类型,SQLBindParameter 忽略
ibScale 的值。
长度
最大长度。如果函数无法确定最大长度,则它返回
SQL_NO_TOTAL。
显示大小
与长度相同。

GBase 8s ODBC Driver 程序员指南
南大通用数据技术股份有限公司
- 56 -

GBase 8s ODBC 驱动程
序 sql 数据类型
(fSqlType)
描述
SQL_REAL
精度
7。对于此数据类型,SQLBindParameter 忽略
cbColDef 的值。
小数位数
不适用。对于此数据类型,SQLBindParameter 忽略
ibScale 的值。
长度
4 字节
显示大小
13 位。这些位表示一个符号、7 个数值字符、一个
小数点、
字母 E、
另一个符号和另外 2 个数值字符。

SQL_SMALLINT
精度
5。对于此数据类型,SQLBindParameter 忽略
cbColDef 的值。
小数位数
0。
对于此数据类型,
SQLBindParameter 忽略 ibScale
的值。
长度
2 字节
显示大小
6 位。一位表示符号。
SQL_TIMESTAMP
精度
8。对于此数据类型,SQLBindParameter 忽略
cbColDef 的值。
小数位数
FRACTION 域中的位数。
长度
16 字节
显示大小
19 位或更多:

如果时间戳的小数位数为 0: 19 位,格式为
yyyy-mm-dd hh:mm:ss。

如果时间戳的小数位数超出 0: 20 位加上
FRACTION 域中的数字,格式为 yyyy-mm-dd
hh:mm:ss.f...

GBase 8s ODBC Driver 程序员指南
南大通用数据技术股份有限公司
- 57 -

GBase 8s ODBC 驱动程
序 sql 数据类型
(fSqlType)
描述
SQL_VARCHAR
精度
与长度相同。
小数位数
不适用。对于此数据类型,SQLBindParameter 忽略
ibScale 的值。
长度
指定的长度。
例如,
VARCHAR(10) 的长度是 10 字
节。
显示大小
与长度相同。

GBase 8s 的附加 SQL 数据类型
对于 GBase 8s ODBC Driver SQL 数据类型,
查看精度、
小数位数、
长度和显示大小的值。
对于 GBase 8s ,下表描述 GBase 8s ODBC Driver SQL 数据类型的精度、小数位数、长度
和显示大小。
GBase 8s ODBC 驱动程序
sql 数据类型(fSqlType)
描述
SQL_IFMX_UDT_BLOB
精度
变量值。要确定此值,请调用返回列的精度的函数。
小数位数
不适用。对于此数据类型,返回列的小数位数的函数返
回 -1。
长度
变量值。要确定此值,请调用返回列的长度的函数。
显示大小
变量值。
要确定此值,
请调用返回列的显示大小的函数。

SQL_IFMX_UDT_CLOB
精度
变量值。
要确定此值,
请调用返回列的精度的函数。

小数位数
不适用。对于此数据类型,返回列的小数位数的函
数返回 -1。
长度
变量值。
要确定此值,
请调用返回列的长度的函数。

显示大小
变量值。要确定此值,请调用返回列的显示大小的
函数。

GBase 8s ODBC Driver 程序员指南
南大通用数据技术股份有限公司
- 58 -

GBase 8s ODBC 驱动程序
sql 数据类型(fSqlType)
描述
SQL_INFX_UDT_FIXED
精度
变量值。
要确定此值,
请调用返回列的精度的函数。

小数位数
不适用。对于此数据类型,返回列的小数位数的函
数返回 -1。
长度
变量值。
要确定此值,
请调用返回列的长度的函数。

显示大小
变量值。要确定此值,请调用返回列的显示大小的
函数。
SQL_INFX_UDT_VARYI
NG
精度
变量值。
要确定此值,
请调用返回列的精度的函数。

小数位数
不适用。对于此数据类型,返回列的小数位数的函
数返回 -1。
长度
变量值。
要确定此值,
请调用返回列的长度的函数。

显示大小
变量值。要确定此值,请调用返回列的显示大小的
函数。