一个后台工作进程
(通常缩写为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 文档: 后台工作进程