【PostgreSQL】PostgreSQL 9、10、11、12の新機能のメモ
はじめに
PostgreSQLのバージョンごとの記事は多くありますが、個人的に重要なところだけをメモ。
PostgreSQL9の新機能
1.64bit版 Windowsのサポート
64bit版のWindowsで使用可能になった。
2.ホットスタンバイ
待機サーバーを参照用として活用できるようになり、参照の負荷分散が可能になった。
3.レプリケーション
プライマリサーバーとスタンバイサーバーのデータベースを、リアルタイムで同じ状態に保つことができるようになった。
PostgreSQL10の新機能
1.ロジカルレプリケーション
PostgreSQL9では、データベース全体をレプリケーションしていたが、特定のテーブルだけをレプリケーションすることが可能になった。
2.宣言的パーティショニング
CREATE TABLE文のみでパーティションが構築可能になった。
PostgreSQL11の新機能
※PostgreSQL11は機能追加というより、既存の機能強化がメインの印象。
1.パーティショニングの強化
機能自体は10で追加されたが11で強化。
・デフォルトパーティションの追加(10では振り分け先がない時にエラーが発生)
・パーティショニングのキーを更新時、あるべきテーブルに自動でデータが移動されるように
2.パラレルクエリの強化
SELECT文以外でもパラレルクエリが対応。
(CREATE INDEX、CREATE TABLEなど)
PostgreSQL12の新機能
1.パーティショニングの強化
11に引き続いて機能が改善・強化
2. JSON Pathに対応
jsonから抽出する方法にJSON Pathを利用できるようになった。(JSON PathはSQL:2016で定められているSQL標準の方式。)
前からJSONの要素を抽出する機能はあったが、独自の関数・演算子を使用。
3.その他
・recovery.confがpostgresql.confへ統合
「recovery.conf」ファイルが廃止に。スタンバイ関連のパラメータはpostgresql.confに設定するように。
・with oidsが廃止
with oidsがあるテーブルはそのままアップグレードできない点に注意。