更改参数

首先

喵~。我是一个以写邮件为爱好的人。

这篇文章是PostgreSQL 16 全部猫咪 Advent Calendar 2022 第24天的文章。

这次我调查的不是Commitfest的每个项目,而是PostgreSQL参数的整体变化状态。
需要注意的是,由于这仅仅是开发过程中的版本,所以在正式发布beta版时,可能会发生比这个变化更大的可能性。

「比对对象」

我们对以下版本之间系统目录视图的变更状态进行了调查。

    • PostgreSQL 15.1

 

    • PostgreSQL-devel

12/20朝時点の版
commit eb60eb08a95eb531f3f2a459c1b623c5ac37ecd3
CATALOG_VERSION_NO 202212191

增加/修改/删除参数

目前看来,参数的变动似乎并不是很多。实质上,有一个删除参数和两个新增参数。

パラメータ名種別変更内容client_connection_check_interval変更categoryがConnection SettingsからTCP Settingsに変更promote_trigger_file削除リカバリの完了を示すトリガファイルの名前send_abort_for_crash追加Developer Optionssend_abort_for_kill追加Developer Optionstcp_keepalives_count変更categoryがConnection SettingsからTCP Settingsに変更tcp_keepalives_idle変更categoryがConnection SettingsからTCP Settingsに変更tcp_keepalives_interval変更categoryがConnection SettingsからTCP Settingsに変更tcp_user_timeout変更categoryがConnection SettingsからTCP Settingsに変更

推广触发文件

这个参数是在PostgreSQL 12中进行了复制过程的更改后添加的参数。
通过将触发文件配置到由该参数指定的位置,可以在promote模式下启动PostgreSQL。但是,也可以通过使用pg_ctl promote或pg_promote来提升备用服务器而不使用该参数。

然而,根据从PostgreSQL 16开始,触发器文件本身已被删除的情况来看,似乎也删除了这个参数。
根据pgsql-commiters邮件列表上关于删除此参数的邮件来看,好像是这样的。
pgsql:移除promote_trigger_file。
在PostgreSQL 15及之前,使用触发器文件来执行promote操作的用户将需要按照这个变更进行必要的操作方式更改。

发送中止请求以应对崩溃/发送中止请求以应对杀死

这些参数是Developer Options(开发者选项)的分类,不是普通用户使用的参数。
这些参数可能与下面的Commitfest项目相关。(我没有深入追查)
Commitfest 2023-01:向子进程发送SIGABRT

send_abort_for_crash 似乎是一个控制参数,在后端崩溃后,决定是否向子进程发送 SIGABRT 而不是 SIGQUIT。

send_abort_for_kill似乎是一个控制参数,用于将SIGABRT发送给挂起的子进程,而不是发送SIGKILL。

最后

我已经调查了PostgreSQL 15和PostgreSQL 16之间的参数差异。目前来看,参数差异并不是很大,但是有一些与触发器文件相关的参数已被删除,这些参数的更改可能会影响操作,所以最好还是进行检查。