pg_cancel_backend()
是一个系统函数,用于取消指定后端中的当前查询。
pg_cancel_backend()
在 PostgreSQL 8.0 中添加。
用法
pg_cancel_backend (pid
integer
) →boolean
更改历史记录
- PostgreSQL 9.2
- 非超级用户可以终止其他后端中的自己的会话(提交 c60ca19d)
- PostgreSQL 8.1
- 返回值从
integer
更改为boolean
(提交 e4d9b697)
- 返回值从
- PostgreSQL 8.0
- 添加(提交 e8d9d68c)
示例
指示后端取消当前查询
postgres=# SELECT pg_cancel_backend(1308332); pg_cancel_backend ------------------- t (1 row)
受影响的后端
postgres=# SELECT pg_backend_pid(); pg_backend_pid ---------------- 1308332 (1 row) postgres=# INSERT INTO foo VALUES(generate_series(1,100000000)); ERROR: canceling statement due to user request
参考
- PostgreSQL 文档: 服务器信号函数