服务器信号函数
服务器信号函数向其他服务器进程发送控制信号。只有系统管理员才能使用这些函数。
pg_cancel_backend(pid int)
描述:取消一个后端的当前查询。
返回值类型:boolean
备注:pg_cancel_backend向由pid标识的后端进程发送一个查询取消(SIGINT)信号。一个活动的后端进程的PID可以从pg_stat_activity视图的pid字段找到,或者在服务器上用ps列出数据库进程。具有SYSADMIN权限的用户,后端进程所连接的数据库的属主,后端进程的属主或者继承了内置角色gs_role_signal_backend权限的用户有权使用该函数。
pg_reload_conf()
描述:导致所有服务器进程重新装载它们的配置文件(需要系统管理员角色)。
返回值类型:boolean
备注:pg_reload_conf给服务器发送一个SIGHUP信号,导致所有服务器进程重新装载配置文件。
pg_rotate_logfile()
描述:滚动服务器的日志文件(需要系统管理员角色)。
返回值类型:boolean
备注:pg_rotate_logfile给日志文件管理器发送信号,告诉它立即切换到一个新的输出文件。这个函数只有在redirect_stderr用于日志输出的时候才有用,否则根本不存在日志文件管理器子进程。
-
描述:终止一个后台线程。
返回值类型:boolean
备注:如果成功,函数返回true,否则返回false。具有SYSADMIN权限的用户,后端进程所连接的数据库的属主,后端进程的属主或者继承了内置角色gs_role_signal_backend权限的用户有权使用该函数。
示例:
SELECT pid from pg_stat_activity;
返回结果为:
pid ----------------- 140657876268816 (1 rows)
使用上一步得到的pid进行查询:
SELECT pg_terminate_backend(140657876268816);
返回结果为:
pg_terminate_backend ---------------------- t (1 row)
pg_terminate_session(pid int64, sessionid int64)
描述:终止一个后台session。
返回值类型:boolean
备注:如果成功,函数返回true,否则返回false。具有SYSADMIN权限的用户,会话所连接的数据库的属主,会话的属主或者继承了内置角色gs_role_signal_backend权限的用户有权使用该函数。
pg_terminate_active_session_socket(pid int64, sessionid int64)
描述:关闭一个活跃session和客户端的socker连接。
返回值类型:boolean
备注:如果成功,函数返回true,否则返回false。仅限初始化用户才可使用函数。