pg_terminate_backend() 是一个系统函数,用于指示后端进程终止。
pg_terminate_backend() 在 PostgreSQL 8.0 中添加。
用法
PostgreSQL 14 及更高版本
pg_terminate_backend ( pid INTEGER, timeout BIGINT DEFAULT 0 ) → BOOLEAN
PostgreSQL 13 及更早版本
pg_terminate_backend ( pid INTEGER ) → BOOLEAN
变更历史
- PostgreSQL 14
- 添加了
timeout参数 (提交 aaf04325)
- 添加了
- PostgreSQL 9.2
- 非超级用户可以终止其在其他后端进程中的会话 (提交 c60ca19d)
- PostgreSQL 8.0
- 添加 (提交 e8d9d68c)
示例
终止 PostgreSQL 后端进程
postgres=# SELECT pg_terminate_backend(1306214); pg_terminate_backend ---------------------- t (1 row)
尝试终止一个不属于正在运行的 PostgreSQL 实例或不存在的 PID
postgres=# SELECT pg_terminate_backend(123456); WARNING: PID 123456 is not a PostgreSQL server process pg_terminate_backend ---------------------- f (1 row)
参考资料
- PostgreSQL 文档: Server Signaling Functions
