2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

PostgreSQL 16 全部ぬこAdvent Calendar 2022

Day 24

パラメータの変更

Last updated at Posted at 2022-12-23

はじめに

にゃーん。趣味でポスグレをやっている者だ。

この記事はPostgreSQL 16 全部ぬこ Advent Calendar 2022 24日目の記事です。

今回はCommitfest個々の項目ではなく、PostgreSQLパラメータ全般の変更状態を調べてみました。
なお、あくまでも開発途中のものなので、beta版リリースのときには、これよりも大きく変わっている可能性は高いです。

比較対象

今回の記事は、以下のバージョン間のシステムカタログ・ビューの変更状態を調査しました。

  • PostgreSQL 15.1
  • PostgreSQL-devel
    • 12/20朝時点の版
    • commit eb60eb08a95eb531f3f2a459c1b623c5ac37ecd3
    • CATALOG_VERSION_NO 202212191

パラメータの追加/変更/削除

現時点だとパラメータの変更はそれほど多くないようです。
実質的な変更は削除パラメータが1つ、追加パラメータが2つです。

パラメータ名 種別 変更内容
client_connection_check_interval 変更 categoryがConnection SettingsからTCP Settingsに変更
promote_trigger_file 削除 リカバリの完了を示すトリガファイルの名前
send_abort_for_crash 追加 Developer Options
send_abort_for_kill 追加 Developer Options
tcp_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に変更

promote_trigger_file

このパラメータは、PostgreSQL 12でレプリケーションの手順が変更されたことに伴い追加されたパラメータです。
このパラメータで指定されたトリガファイルを配置してPostgreSQLを起動することでpromoteモードで起動します。しかし、このパラメータを使うことなく、pg_ctl promoteあるいはpg_promoteを使ってスタンバイサーバを昇格することが可能でした。

ところが、PostgreSQL 16からトリガファイル自体が削除されたことに伴い、このパラメータも削除されたようです。
このパラメータの削除に関するpgsql-commiters MLのメールはこれみたいですね。
pgsql: Remove promote_trigger_file.
PostgreSQL 15までpromoteの運用をトリガファイルを使っていたユーザは、この変更による運用方法の変更が必須になります。

send_abort_for_crash/send_abort_for_kill

これらのパラメータはcategoryがDeveloper Options(開発者向けのオプション)なので、通常のユーザが使うパラメータではありません。
これらのパラメータはたぶん、以下のCommitfest項目が関連していそうです。(深追いはしてないですが)
Commitfest 2023-01:Sending SIGABRT to child processes

send_abort_for_crashはバックエンドのクラッシュ後に、子プロセスに SIGQUIT ではなく SIGABRT を送信するかどうかを制御するパラメータのようです。

send_abort_for_killはスタックした子プロセスに SIGKILL ではなく SIGABRT を送信するかどうかを制御するパラメータのようです。

おわりに

今回は、PostgreSQL 15とPostgreSQL 16とのパラメータ差分を調べてみました。
現時点ではそれほど大きなパラメータの差分はないようですが、トリガファイルに関連するパラメータの削除など、運用に影響するパラメータの変更もあるのでチェックはしておいたほうが良さそうですね。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?