web-dev-qa-db-ja.com

PostgreSQLがDSTルールで更新されているかどうかを確認するにはどうすればよいですか?

最近(2019-04-25)ブラジル政府は、全国で夏時間の使用を終了しました。

現在のプロジェクトでは、PostgreSQLを使用して、さまざまなタイムゾーンと日付の時間に基づいてタイムゾーンの変換と分析を行っています。

私に関する限り、PostgreSQLはOlsonデータベースを介して夏時間とタイムゾーンを実装しています。

1)ブラジル(たとえば、バージョン11)は、ブラジルの新しい夏時間なしルールで最新ですか?

2)更新されていない場合、どうすれば修正できますか?その意味でデフォルトのPostgreSQLパッチカレンダー/スケジュールはありますか?

はい、スケジュールがあります。それはここに文書化されています: https://www.postgresql.org/support/versioning/

必要に応じて、「マイナーリリース」と呼ばれるセキュリティ修正プログラムを少なくとも3か月に1回リリースします。マイナーリリーススケジュールの詳細については、 マイナーリリースロードマップ を参照してください。

そして、現在(2019-07-08現在)のマイナーリリースのロードマップは以下を示しています:

これらのリリースの目標日は、特に明記しない限り、2月の第2木曜日、5月、8月、11月です。今後のリリースの現在のスケジュールは次のとおりです。

* 2019年8月8日
* 2019年11月7日
* 2020年2月13日
* 2020年5月14日

すべてのマイナーリリースには、必要に応じて更新されたDSTルールが含まれます。

Postgres 11の 最後のマイナーリリース は、2019-06-20の11.4でした。ブラジルのDSTの新しいルールが含まれていると思いましたが、リリースノートにはそのような記述はありません。 11. および 11.2 リリースの場合。

そのため、おそらく11.5(8月8日予定)に含まれます。

開発者からの信頼できる回答が必要な場合は、 Postgresメーリングリスト で質問してください。


Postgres コンパイル可能 オペレーティングシステムのタイムゾーンデータを使用する方法で。 --with-system-tzdata を実行すると、Postgresのバージョンがpg_configオプションでコンパイルされたかどうかを確認できます

2019-07-09現在、私は

git log src/timezone/data/tzdata.zi

タイムゾーンデータを変更した最新のコミットは d312de3fc092c784e743e58be4d1617cfb704b71 でした。

タイムゾーンデータファイルをtzdataリリース2019aに更新します。

パレスチナとメトラカトラの夏時間法が変更されます。イスラエルの歴史的修正。

現在、Etc/UCTは、略語「UCT」を生成する個別のゾーンではなく、Etc/UTCへの後方互換性リンクになりました。 Postgresは入力ゾーン名として「UCT」を引き続き受け入れますが、出力しません。

メーリングリストのアーカイブ からわかるように、2019年4月からのブラジルのタイムゾーンの変更が2019bにリリースされました。

Tzコードとデータの2019bリリースが利用可能です。これは、tzメーリングリストで配布された、または比較的小さな技術的または管理上の変更である次の変更を反映しています。

簡単に:
ブラジルはDSTを監視しなくなりました。
'zic -b slim'は、より小さなTZifファイルを出力します。試してみてください。
パレスチナの2019年の春から前への移行は、03-30ではなく03-29でした。

結論として、2019-07-09の最新のPostgreSQLマイナーリリースには、ブラジルの最新の夏時間の変更が含まれていないとのことです。

この変更がすでに有効になっているシステムでオペレーティングシステムのタイムゾーンデータを使用するには、PostgreSQLをビルドする必要があります。または、次のマイナーなPostgreSQLリリースを待ちます。

1
Laurenz Albe