返回首页

gbase数据、南大通用产品文档:GBase8s如何阅读语法图

更新日期:2024年09月11日

语法图使用特殊组件描述语句和命令的语法。
从左到右,从上到下跟随线的路径阅读语法图。
此右侧双箭头加直线符号 ►►── 表示语句开始。
右侧箭头符号 ──► 表示语句延续到下一行。
右箭头加直线符号 ►── 表示语句继续上一行的内容。
直线、右箭头加左箭头符号 ──►◄ 表示语句结束。
必需项出现在水平线(主路径)中。

可选项出现在主路径下方。

如果可以从两个或多个项中选择,那么它们以堆栈的方式表示。
如果必须选择其中一项,那么堆栈中的一项出现在主路径上。

如果从中选择的项是可选的,那么整个堆栈出现在主路径下方。

如果缺省其中一项,则它会在主路径上方显示,剩余的选项将会显示在下方。

GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 3 -

返回左侧的箭头,在主线之上,表示该项可重复。在此情况下,重复项必须用一个或
多个空格隔开。

如果重复的箭头包含一个逗号,那么您必须使用逗号分隔重复的项。

堆栈上方重复的箭头表示可以从堆栈的项目中进行多个选择或者重复一个选择。
SQL 关键字以大写字母出现 (例如:FROM)。它们必须严格按照所显示的拼写。
变量以小写字母出现(例如:column-name)。它们表示用户在语句中提供的名称或值。
如果出现了标点符号、括号、算术运算符或其它这样的符号,那么必须将它们作为语
法的一部分输入。
某些时候,
一个变量表示一个语句段。
例如:
在以下语法图中,
变量 parameter-block 表
示已标记为 parameter-block 的语句段:

parameter-block:

参数说明
gs_initdb 支持的常用参数和不常用参数请分别参见表4-1 和表4-2。
表4-1 常用参数说明
参数
参数说明
取值范围
-A, --auth=METHOD
指定本地用户连接数据库时的认
证方法,即pg_hba.conf 配置文件
中host 和local 所在行的认证方
METHOD 的取值:

trust

GBase 8c 工具参考手册
南大通用数据技术股份有限公司
218
参数
参数说明
取值范围
法。
除非用户对本地用户都是信任
的,否则不要使用默认值trust。
须知:
若取值为md5,则需手动修改参
数文件postgresql.conf.sample 中







password_encryption_type 参数的
值,修改为0,且放开注释使之生
效。
gs_initdb 工具需同时配合-W
的使用。

reject

md5(不安全的算法,
为了兼容老版本而存
在)

sha256

sm3
默认值:trust
--auth-host=METHOD
指定本地用户通过TCP/IP 连接数
据库时的认证方法,即:
pg_hba.conf 配置文件中host 所在
行的认证方法。
指定此参数则会覆盖-A 参数的
值。
METHOD 的取值:

trust

reject

md5(不安全的算法,
为了兼容老版本而存
在)

sha256

sm3
默认值:trust
--auth-local=METHOD
指定本地用户通过Unix 域套接字
连接数据库时的认证方法,即
pg_hba.conf 配置文件中local 所在
行的认证方法。
指定此参数则会覆盖-A 参数的
值。
METHOD 的取值:

trust

reject

md5(不安全的算法,
为了兼容老版本而存
在)

sha256

sm3

peer(仅用于local 模

GBase 8c 工具参考手册
南大通用数据技术股份有限公司
219
参数
参数说明
取值范围
式)
默认值:trust
-c, --enable-dcf
设置安装的节点为DCF 模式
-
[-D,
--pgdata=]DATADIR
指定数据目录的位置。
DATADIR 的取值:用户自
定义。不能包括“|”, “;”,
“&”,“$”,“<”,“>”,“`”,
“\\”,“!”这几个字符。
--nodename=NODENA
ME
初始化的节点名称。
节点的命名需要遵守如下
规范:

节点名称必须为小写
字母(a-z)、下划线
(_)、特殊符号#、数
字(0-9)。

节点名称必须以小写
字母(a-z)或下划线
(_)开头。

节点名称不能为空,

最大的长度为64 个字
符。
-E,
--encoding=ENCODIN
G
为新数据库设置编码格式。
如果使用此参数,
需要加上
--locale 选项指定支持此编
码格式的区域。如果不加
--locale 选项,则采用系统
默认的区域,
如果系统默认
区域的编码格式和用此参
数指定的编码格式不匹配
则会导致数据库初始化失
败。
如果不指定此参数,
则使用
系统默认区域的编码格式。

GBase 8c 工具参考手册
南大通用数据技术股份有限公司
220
参数
参数说明
取值范围
系统默认区域和编码格式
可以使用locale 命令查看,
如下:
locale|grep LC_CTYPE
LC_CTYPE="en_US.UTF-8
"
其中UTF-8 表示系统默认
区域的编码格式。
不能包括“|”, “;”,
“&”,
“$”,
“<”,“>”,“`”,“\\”,“!”这
几个字符。
--locale=LOCALE
为新数据库设置缺省的区域。可
以用locale -a 查看可用的区域,

zh_CN.gbk 等。
如果不希望指定特
定的区域,则可以用C。
须知:
如果用户设置了数据库的编码格
式,则用户选择区域的编码格式
必须与用户设置的编码格式一
致,否则数据库初始化会失败。
不能包括“|”, “;”,
“&”,
“$”,
“<”,“>”,“`”,“\\”,“!”这
几个字符。
例如用户要将数据库编码
格式初始化为GBK,可以
采用如下步骤:
用locale -a |grep gbk命令查
看系统支持gbk 编码的区
域,如下:
locale -a|grep gbk
zh_CN.gbk
zh_SG.gbk
初始化数据库时加入
--locale=zh_CN.gbk 选项。
--dbcompatibility=DBC
OMPATIBILITY
指定兼容的数据库的类型。
取值范围:A、B、C、PG。
分别表示兼容O、MY、TD
和POSTGRES。
--lc-collate=LOCALE
--lc-ctype=LOCALE
为新数据库设置指定范畴的区
域。
各参数的取值必须是操作
系统支持的值。
不能包括不
能包括“|”, “;”,“&”,“$”,

GBase 8c 工具参考手册
南大通用数据技术股份有限公司
221
参数
参数说明
取值范围
--lc-messages=LOCAL
E
--lc-monetary=LOCAL
E
--lc-numeric=LOCALE
--lc-time=LOCALE
“<”,“>”,“`”,“\\”,“!”这
几个字符。
说明:
如果用户在数据库安装的
时候没有指定--lc-collate 参
数,则--lc-collate 参数的默
认值为C。
--no-locale
和--locale=C 等价。
-
--pwfile=FILE
gs_initdb 时从文件FILE 中读取数
据库中系统管理员的密码。该文
件的第一行将被当作密码使用。
FILE 可以是“相对路径+文
件”的形式,
也可以是“绝对
路径+文件”的形式。
相对路
径是相对当前路径的。
不能
包括“|”, “;”,
“&”,
“$”,
“<”,
“>”,“`”,“\\”,“!”这几个
字符。
-T,
--text-search-config=CF
G
设置缺省的文本搜索方式。此配
置项的值不会做正确性校验,配
置成功后,有日志记录提醒当前
配置项的取值。
text-search-config 的取值:

english 全文搜索

simple 普通文本搜索
默认值:simple
-U, --username=NAME
选择数据库系统管理员的用户
名。
取值范围:
正常的数据库用
户。不能包括“|”, “;”,“&”,
“$”,“<”,“>”,“`”,“\\”,
“!”这几个字符。
默认值:运行gs_initdb 的
操作系统用户。
-W, --pwprompt
gs_initdb 时强制交互式输入数据
库管理员的密码。
-

GBase 8c 工具参考手册
南大通用数据技术股份有限公司
222
参数
参数说明
取值范围
-w,
--pwpasswd=PASSWD
gs_initdb 时通过命令行指定的管
理员用户的密码,而不是交互式
输入。
设置的密码要符合复杂度
要求:

最少包含8 个字符;

不能和用户名和当前
密码(ALTER)相同,
或和当前密码反序;

至少包含大写字母
(A-Z )、小写字母
(a-z)、数字、非字
母数字字符(限定为
~!@#$%^&*()-_=+\|[{
}];:,<.>/?)四类字符中
的三类字符。
-C, --enpwdfiledir=DIR
gs_initdb 时指定的经AES128 加
密算法加密过的密码文件所在目
录。gs_initdb 会将该目录下密码
文件进行解密,同时把解密后的
密码做密码复杂度校验,校验通
过的话会将此密码作为用户的密
码。
说明:
加密密码文件需使用gs_guc 工具
生成:
gs_guc encrypt -K GBase@123
-D Dir
如果用户指定多个-w 和-C 参数,
gs_initdb 会将用户输入的最后一
个-w 或-C 参数作为用户的需求,
即输入密码的明文或经过
AES128 加密后的密码。
不能包括“|”, “;”,
“&”,
“$”,
“<”,“>”,“`”,“\\”,“!”这
几个字符。
-X,
--xlogdir=XLOGDIR
声明事务日志存储的目录。
所设置的目录,必须满足运行
只支持绝对路径。
不能包括
“|”, “;”,
“&”,
“$”,
“<”,
“>”,

GBase 8c 工具参考手册
南大通用数据技术股份有限公司
223
参数
参数说明
取值范围
GBase 8c 的用户有读写权限。
“`”,“\\”,“!”这几个字符。
-S, --security
安全方式初始化数据库。
以-S 方式初始化的数据库
后,
创建的数据库用户权限
受到限制,默认不再具有
public schema 的使用权限。
表4-2 不常用参数说明
参数
参数说明
取值范围
-d, --debug
从初始化后端打印调试输出信息。初始
化后端是gs_initdb用于创建系统表的程
序。
-
-L
DIRECTO
RY
gs_initdb 初始化数据库所需要的输入文
件的路径。通常是不必要的。如果需要
明确声明的话,程序会提示输入。因该
参数意为创建指定配置信息的数据库,
建议将share/postgresql 下的所有涉及启
动相关的子目录及文件全部复制过来,
避免其他因素的影响。
初始化数据库所需的输入文件路
径。不能包括“|”, “;”,“&”,“$”,
“<”,“>”,“`”,“\\”,“!”这几个字
符。
-n,
--noclean
不指定该参数时,
当gs_initdb 发现一些
错误妨碍它完成创建数据库的工作时,
它将在检测到不能结束工作之前将其
创建的所有文件删除。这个选项禁止任
何清理动作,因而对调试很有用。
-
-s, --show
显示内部设置。
-
-H,
--host-ip
初始化openGauss 节点node_host。
不能包括“|”, “;”,“&”,“$”,“<”,
“>”,“`”,“\\”,“!”这几个字符。

GBase 8c 工具参考手册
南大通用数据技术股份有限公司
224
参数
参数说明
取值范围
-V,
--version
打印gs_initdb 版本信息,然后退出。
-
-?, --help
显示关于gs_initdb命令行参数的帮助信
息,然后退出。
-



sword GCIServerVersion(
void *hndlp,
CIError *errhp,
sb1 *bufp,
ub4 bufsz,
ub1 hndltype
);

得到服务器的版本号。



GBase 8s GCI 接口使用指南

南大通用数据技术股份有限公司 43

参数
输入
/输出


hndlp
输入
当前连接服务的上下文句柄
errhp
输入
错误信息句柄,该接口调用失败时将错误码及错误信息写入该句柄
bufp
输入
返回结果集的缓冲区地址
bufsz
输入
返回结果集的缓冲区的大小
hndltype
输入
保留参数, 目前不使用(仅用于和Oracle保持兼容)

如果执行成功, 则返回GCI_SUCCESS,否则返回GCI_ERROR。