返回首页

gbase数据、南大通用产品文档:GBase8s执行例程

更新日期:2024年09月11日

您可以下列任一方式执行 SPL 例程或外部例程:

使用从 DB-Access 执行的单独的 EXECUTE PROCEDURE 或 EXECUTE
FUNCTION 语句

从另一 SPL 例程或外部例程显式地调用例程

在 SQL 语句中使用带有表达式的例程名称
执行例程的附加的机制仅支持 sysdbopen 和 sysdbclose 过程,DBA 可定义这些过程。当用
户通过 CONNECT 或 DATABASE 语句连接到数据库时,
如果 sysdbopen 过程的所有
者与数据库中存在的用户的登录标识符相匹配,则自动地执行那个例程。如果没
有 sysdbopen 例程的所有者与该用户的登录标识符相匹配,但存在 PUBLIC.sysdbopen 例
程,则执行那个例程。这种自动的调用使得 DBA 能够在连接时刻为用户定制会话环境。
当用户从数据库断开连接时,类似地调用 sysdbclose 例程。(要获取关于这些会话配置例
程的更多信息,请参阅《GBase 8s SQL 指南:语法》和 GBase 8s 管理员指南。)
外部例程是以 C 或某种其他外部语言编写的例程。

检查数据库状态
通过GBase 8c 提供的工具查询数据库和实例状态,确认数据库和实例都处于正常的运
行状态,可以对外提供数据服务。
检查数据库状态
gs_check -U admin_user -i CheckClusterState
参数说明

-U:指定以哪个管理员用户身份进行检查操作。

-i:指定健康检查项的名称
执行返回检查状态的信息。

GBase 8c 管理员指南
南大通用数据技术股份有限公司
8
例如:
[gbase@gbase8c ~]$ gs_check -U gbase -i CheckClusterState
Parsing the check items config file successfully
Distribute the context file to remote hosts successfully
Start to health check for the cluster. Total Items:1 Nodes:1
Checking...
[=========================] 1/1
Start to analysis the check result
CheckClusterState...........................OK
The item run on 1 nodes.
success: 1
Analysis the check result successfully
Success.
All check items run completed. Total:1
Success:1
For more information please refer to
/home/gbase/gbase_db/om_f5c5a0af/script/gspylib/inspection/output/CheckRepor
t_202212063481010006.tar.gz
检查参数
以管理员身份登录数据库,使用show 命令查看指定参数的值。
SHOW parameter_name;
例如,查看listen_addresses 参数值:
[gbase@gbase8c ~]$ gsql -d postgres -p 5432
gsql ((multiple_nodes GBase8cV5 3.0.0B52 build 0b9407bc) compiled at 2022-11-18
16:09:02 commit 0 last mr 874 )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.
postgres=# show listen_addresses;
listen_addresses
------------------------
localhost,10.0.7.16
(1 row)
修改参数
通过gs_guc 命令修改参数值。参数修改生效方式不同,请参看《GBase 8c V5_3.0.0 开
发者指南》“重设参数”章节。
gs_guc reload -Z node_type -D datadir -c "paraname_name=value"

GBase 8c 管理员指南
南大通用数据技术股份有限公司
9
例如,修改listen_addresses 参数:
[gbase@gbase ~]$ gs_guc reload -Z datanode -D /home/gbase/data/dn1/dn1_1/ -c
"listen_addresses='localhost,10.0.7.16,10.0.7.17'"
The gs_guc run with the following arguments: [gs_guc -Z datanode -D
/home/gbase/data/dn1/dn1_1/ -c
listen_addresses='localhost,10.0.7.16,10.0.7.17' reload ].
expected instance path: [/home/gbase/data/dn1/dn1_1/postgresql.conf]
gs_guc reload: listen_addresses='localhost,10.0.7.16,10.0.7.17':
[/home/gbase/data/dn1/dn1_1/postgresql.conf]
server signaled
Total instances: 1.
Success to perform gs_guc!

SQLDisconnect
功能描述
关闭一个与特定连接句柄相关的连接。

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
257
原型
SQLRETURN SQLDisconnect(SQLHDBC
ConnectionHandle);
参数
表8-21 SQLDisconnect 参数
关键字
参数说明
ConnectionHandle
连接句柄,通过SQLAllocHandle 获得。
返回值

SQL_SUCCESS:表示调用正确。

SQL_SUCCESS_WITH_INFO:表示会有一些警告信息。

SQL_ERROR:表示比较严重的错误,如:内存分配失败、建立连接失败等。

SQL_INVALID_HANDLE:表示调用无效句柄。其他API 的返回值同理。
注意事项
当调用SQLDisconnect 函数返回SQL_ERROR 或SQL_SUCCESS_WITH_INFO 时,通
过调
用SQLGetDiagRec 函数,
并将HandleType 和Handle 参数设置为SQL_HANDLE_DBC
和ConnectionHandle,
可得到一个相关的SQLSTATE 值,
通过SQLSTATE 值可以查出调用此
函数的具体信息。
示例
参见8.2.23 示例。