后台工作进程(通常缩写为 BGW)是作为主 PostgreSQL 服务器进程一部分运行的用户定义进程。
后台工作进程 功能是在 PostgreSQL 9.3 中添加的。
变更历史
- PostgreSQL 17
bgw_library_name的长度从96(BGW_MAXLEN)字节增加到1024(MAXPGPATH)字节(提交 95784578)
- PostgreSQL 11
- 添加了
bgw_type字段;此处设置的值将在pg_stat_activity的backend_type列中可见,而不是通用值“background worker”,并且还将显示为ps进程显示标签(提交 5373bc2a) - 后台工作进程可以连接到通常不允许连接的数据库(
datallowconn=false)(提交 eed1ce72)
- 添加了
- PostgreSQL 10
- 后台工作进程在
pg_stat_activity中可见(提交 fc70a4b0)
- 后台工作进程在
- PostgreSQL 9.4
- 后台工作进程可以动态启动(提交 7f7485a0)
- 添加了 GUC
max_worker_processes(提交 6bc8ef0b)
- PostgreSQL 9.3
- 添加了初始支持(提交 da07a1e8)
示例
可以在 测试模块 worker_spi(src/test/modules/worker_spi)中找到一些示例代码。
参考资料
- PostgreSQL documentation: Background Worker Processes
