服务器信号函数
服务器信号函数向其他服务器进程发送控制信号。只有系统管理员才能使用这些函数。
pg_cancel_backend(pid int)
描述:取消一个后端的当前查询。
返回值类型:boolean
备注:pg_cancel_backend向由pid标识的后端进程发送一个查询取消(SIGINT)信号。一个活动的后端进程的PID可以从pg_stat_activity视图的pid字段找到,或者在服务器上用ps列出数据库进程。
示例:
1 2 3 4 5 6 7 8 9 10 11 |
SELECT pid FROM pg_stat_activity WHERE stmt_type ='RESET'; pid ----------------- 281471222065200 (1 row) SELECT pg_cancel_backend(281471222065200); pg_cancel_backend ------------------- t (1 row) |
pg_reload_conf()
描述:服务器进程重新装载配置文件。
返回值类型:boolean
备注:pg_reload_conf给服务器发送一个SIGHUP信号,导致所有服务器进程重新装载配置文件。
示例:
1 2 3 4 5 |
SELECT pg_reload_conf(); pg_reload_conf ---------------- t (1 row) |
pg_rotate_logfile()
描述:滚动服务器的日志文件。
返回值类型:boolean
备注:pg_rotate_logfile通知日志文件管理器立即切换到一个新的输出文件。该函数仅在内置日志收集器运行时有效。
示例:
1 2 3 4 5 |
SELECT pg_rotate_logfile(); pg_rotate_logfile ------------------- t (1 row) |
pg_terminate_backend(pid int)
描述:终止一个后台线程。
返回值类型:boolean
备注:如果成功,函数返回true,否则返回false。
示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
SELECT pid FROM pg_stat_activity; pid ----------------- 140657876268816 140433774061312 140433587902208 140433656592128 140433723717376 140433637189376 140433552770816 140433481983744 140433349310208 (9 rows) SELECT pg_terminate_backend(140657876268816); pg_terminate_backend ---------------------- t (1 row) |
pg_wlm_jump_queue(pid int)
描述:调整任务到CN队列的最前端。
返回值类型:boolean
备注:如果成功,函数返回true,否则返回false。
示例:
1 2 3 4 5 6 7 8 9 10 11 |
SELECT pid FROM pg_stat_activity WHERE stmt_type ='RESET'; pid ----------------- 281471222065200 (1 row) SELECT pg_wlm_jump_queue(281471222065200); pg_wlm_jump_queue ------------------- t (1 row) |
gs_wlm_switch_cgroup(pid int, cgroup text)
描述:调整作业的优先级到新控制组。
返回值类型:boolean
备注:如果成功,函数返回true,否则返回false。
pg_cancel_query(queryId int)
描述:取消一个后端的当前查询。该函数8.1.2及以上版本支持。
返回值类型:boolean
备注:pg_cancel_query向由query_id标识的后端进程发送一个查询取消(SIGINT)信号。一个活动的后端进程的query_id可以从pg_stat_activity视图的query_id字段找到。
示例:
1 2 3 4 5 6 7 8 9 10 11 12 |
SELECT query_id FROM pgxc_stat_activity WHERE stmt_type ='RESET'; query_id ---------- 0 0 (2 rows) SELECT pg_cancel_query(0); pg_cancel_query ----------------- f (1 row) |
pgxc_cancel_query(queryId int)
描述:取消当前集群下正在执行的查询。该函数8.1.2及以上版本支持。
返回值类型:boolean
备注:如果所有节点的查询均已取消,函数返回true,否则返回false。
示例:
1 2 3 4 5 6 7 8 9 10 11 12 |
SELECT query_id FROM pgxc_stat_activity WHERE stmt_type ='RESET'; query_id ---------- 0 0 (2 rows) SELECT pgxc_cancel_query(0); pgxc_cancel_query ------------------- f (1 row) |
pg_terminate_query(queryId int)
描述:终止一个后端的当前查询。该函数8.1.2及以上版本支持。
返回值类型:boolean
示例:
1 2 3 4 5 6 7 8 9 10 11 12 |
SELECT query_id FROM pgxc_stat_activity WHERE stmt_type ='RESET'; query_id ---------- 0 0 (2 rows) SELECT pg_terminate_query(0); pg_terminate_query -------------------- f (1 row) |
pgxc_terminate_query(queryId int)
描述:终止当前集群下正在执行的查询。该函数8.1.2及以上版本支持。
返回值类型:boolean
示例:
1 2 3 4 5 6 7 8 9 10 11 |
SELECT query_id FROM pgxc_stat_activity; query_id ----------------- 72339069014638631 (1 rows) SELECT pgxc_terminate_query(72339069014638631); pgxc_terminate_query ---------------------- t (1 row) |