返回首页

gbase数据、南大通用产品文档:GBase8c服务器信号函数

更新日期:2024年09月11日

服务器信号函数向其他服务器进程发送控制信号。只有系统管理员才能使用这些函数。

pg_cancel_backend(pid int)
描述:取消一个后端的当前查询。
返回值类型:Boolean
备注:pg_cancel_backend 向由pid 标识的后端进程发送一个查询取消(SIGINT)信号。
一个活动的后端进程的PID 可以从pg_stat_activity 视图的pid 字段找到,
或者在服务器上用

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
440
ps 列出数据库进程。具有SYSADMIN 权限的用户,后端进程所连接的数据库的属主,后端
进程的属主或者继承了内置角色gs_role_signal_backend 权限的用户有权使用该函数。

pg_reload_conf()
描述:导致所有服务器进程重新装载它们的配置文件(需要系统管理员角色)

返回值类型:Boolean
备注:pg_reload_conf 给服务器发送一个SIGHUP 信号,导致所有服务器进程重新装载
配置文件。

pg_rotate_logfile()
描述:滚动服务器的日志文件(需要系统管理员角色)

返回值类型:Boolean
备注:pg_rotate_logfile 给日志文件管理器发送信号,告诉它立即切换到一个新的输出
文件。这个函数只有在redirect_stderr 用于日志输出的时候才有用,否则根本不存在日志文
件管理器子进程。

pg_terminate_backend(pid int)
描述:终止一个后台线程。
返回值类型:Boolean
备注:如果成功,函数返回true,否则返回false。具有SYSADMIN 权限的用户,后端
进程所连接的数据库的属主,后端进程的属主或者继承了内置角色gs_role_signal_backend
权限的用户有权使用该函数。
示例:
gbase=# SELECT pid from pg_stat_activity;
pid
-----------------
140573611915008
140573668599552
140574052771584

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
441
140573954000640
140574121588480
140574004344576
140573970781952
140573987563264
(8 rows)
gbase=# SELECT pg_terminate_backend(140573987563264);
pg_terminate_backend
----------------------
t
(1 row)

pg_terminate_session(pid int64, sessionid int64)
描述:终止一个后台session。
返回值类型:Boolean
备注:如果成功,函数返回true,否则返回false。具有SYSADMIN 权限的用户,会话
所连接的数据库的属主,会话的属主或者继承了内置角色gs_role_signal_backend 权限的用
户有权使用该函数。

复制(SQL 管理 API)
随同 cdr autoconfig serv 参数的 admin() 或 task() 函数可自动配置高可用性集群中
服务器的连接性,且可自动配置复制。
语法

Source options

Target options

元素
目的
约束
host
数据库服务器主机的名称

port
用于通信的端口号

server
要连接到的数据库服务器名
该名称必须是数据库服务器或服务
器连接的名称。
server_group
包括要连接的数据库服务器的数
据库服务器组名
该名称必须是现有的数据库服务器
组名。

下表描述 cdr autoconfig serv 的选项。
长形
短形
含意
--sourcehost
-H
正在发送自动配置信息的数据库服务器的主

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 701 -
长形
短形
含意
机。如果未指定 --sourcehost 和
--sourceport,则将在其上运行函数的数据库
服务器视为源数据库服务器。
--sourceport
-P
正在发送自动配置信息的数据库服务器使用的
端口。
--targethost
-h
正在接收自动配置信息的数据库服务器主机。
--targetport
-p
正在接收自动配置信息的数据库服务器使用的
端口。

用法
运行带有 cdr autoconfig serv 参数的 admin() 或 task() 函数可自动配置高可用性集
群或 Enterprise Replication 域中服务器的连接性,如果您正在添加数据库服务器到
Enterprise
Replication 域,
则还可自动配置复制。
在您可运行带有 cdr
autoconfig
serv
参数的 admin() 或 task() 函数之前,CDR_AUTO_DISCOVER 配置参数必须在参与
Enterprise Replication 域的所有数据库上设置为 1。通过 cdr autoconfig serv 添加
到 Enterprise Replication 域的新安装的数据库服务器必须有一个配置的存储池。
如果已为 Enterprise Replication 配置了源服务器,则函数执行下列活动:
1. 源服务器将其可信任主机文件传到目的服务器。
2. 目的服务器为自身和所有其他复制服务器添加条目到其 sqlhosts 文件。
3. 源服务器以目的服务器的条目更新其 sqlhost 文件。
4. 每一复制服务器以目的服务器的条目更新其 sqlhost 文件和可信任主机文件。
5. 目的数据库设置其 CDR_DBSPACE 配置参数并创建 Enterprise Replication 要求
的 dbspace。
6. 目的服务器设置其 CDR_QDATA_SBSPACE 配置参数并创建 Enterprise Replication
要求的 sbspace。
7. 在目的服务器上创建中止事务 spooling(ATS)文件目录
$GBASEDBTDIR/tmp/ats_dbservername。
8. 在目的服务器上创建行信息 spooling(RIS)文件目录
$GBASEDBTDIR/tmp/ris_dbservername。
9. 启动到目的服务器的复制。
如果未为 Enterprise Replication 配置源服务器,则函数执行附加的活动:

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 702 -
1. 源服务器为自身添加条目到其 sqlhosts 文件。
2. 源服务器设置其 CDR_DBSPACE 配置参数并创建 Enterprise Replication 要求的
dbspace。
3. 源服务器设置其 CDR_QDATA_SBSPACE 配置参数并创建 Enterprise Replication
要求的 sbspace。
4. 在源服务器上创建中止事务 spooling(ATS)文件目录
$GBASEDBTDIR/tmp/ats_dbservername。
5. 在源服务器上创建行信息 spooling(RIS)文件目录
$GBASEDBTDIR/tmp/ris_dbservername。
6. 在开始目的服务器上的复制之前,开始源服务器上的复制。
对带有 cdr autoconfig serv 参数的 admin() 或 task() 函数使用下列约束:
 所有复制服务器必须是活动的,否则函数失败。
 如果您已经手工地配置了可信任主机信息,而不是通过运行带有 cdr add
trustedhost 参数的 admin() 或 task() 函数配置的,则请不要运行带有 cdr
autoconfig serv 参数的 admin() 或 task() 函数。
 如果您的复制服务器有配置的安全端口,则请不要运行带有 cdr autoconfig serv
参数的 admin() 或 task() 函数。
 带有 cdr autoconfig serv 参数的 admin() or task() 函数不复制 hosts.equiv
信息到可信任主机文件,该文件由 REMOTE_SERVER_CFG 配置参数设置。如果您必
须从 hosts.equiv 文件添加信息到 REMOTE_SERVER_CFG 配置参数设置的可信任
主机文件,请运行带有 cdr add trustedhost 参数的 admin() 或 task() 函数。

串行地配置数据库服务器。不支持并行配置。
您可如 cdr utility 命令那样运行这个函数。
示例 1:在本地服务器上配置 Enterprise Replication
对于这个示例,您有一个未为 Enterprise Replication 配置的本地数据库服务器:
在本地服务器上运行下列任务函数:
EXECUTE FUNCTION task('cdr autoconfig server');
该任务函数在本地服务器上配置 Enterprise Replication。
示例 2:通过使用源语法在两独立服务器之间配置连接性和 ER
对于这个示例,您有两数据库服务器:
为 Enterprise Replication 配置 host_1 上的 server_1
未为 Enterprise Replication 配置 host_2 上的 server_2
EXECUTE FUNCTION task('cdr autoconfig server', '--connect server_2
--sourcehost host_1 --sourceport 9020');

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 703 -
该任务函数执行下列活动:
该命令连接到 server_2。
在 server_2 上定义 Enterprise Replication。
server_1 复制其数据到 server_2
示例 3:使用目的语法配置两独立服务器之间的连接性和 ER
下列命令
EXECUTE FUNCTION task('cdr autoconfig server', '--connect server_1
-–targethost host_2 --targetport 9030');
该任务函数执行下列活动:
1. 该命令连接到 server_1。
2. 在 server_2 上定义 Enterprise Replication。
3. server_1 复制其数据到 server_2

取值:[0|1]
默认值:1
说明:是否使用新的对象发送结果集,默认值是开启。
修改方式:
可使用set 语句修改值也可在配置文件中修改值。
适用于session、
global
范围均可。