【PostgreSQL】バージョンの違い・変更点まとめ(9、10、11、12)

PostgreSQLその他

はじめに

PostgreSQL 9、10、11、12のバージョンごと新機能と変更点をまとめました。

 

 

PostgreSQL 12の新機能

1. パーティショニングの強化

11に引き続いて機能が改善・強化されました。

 

2. ホットスタンバイ

jsonから抽出する方法にJSON Pathが利用可能に。

前からJSONの要素を抽出する機能はあったが、独自の関数・演算子を使用。

 

3. recovery.confがpostgresql.confへ統合

「recovery.conf」ファイルが廃止。スタンバイ関連のパラメータはpostgresql.confへ設定。

 

4. with oidsが廃止

with oidsがあるテーブルはそのままアップグレードできない点に注意。

 

 

PostgreSQL11の新機能

PostgreSQL11は機能追加というより、既存の機能強化がメインの印象。

 

1.パーティショニングの強化

デフォルトパーティションが追加(10では振り分け先がない時にエラーが発生)。

パーティショニングのキーを更新時、あるべきテーブルに自動でデータが移動されるように。

※ 上の機能自体は10で追加されたが11で強化。

 

2. パラレルクエリの強化

SELECT文以外でもパラレルクエリが対応(CREATE INDEX、CREATE TABLEなど)。

 

 

PostgreSQL 10 の新機能

1.ロジカルレプリケーション

PostgreSQL9では、データベース全体をレプリケーションしていたが、

特定のテーブルだけをレプリケーションすることが可能になりました。

 

2. 宣言的パーティショニング

CREATE TABLE文のみでパーティションが構築可能に

 

 

PostgreSQL 9.1~9.6 の新機能

PostgreSQL 9.1~9.3

PostgreSQL 9.1 ~ 9.3 での主な変更点は次のとおりです。

出典:まとめ読み! PostgreSQL最近のアップデート

2013年06月28日 18時00分 公開 [正野裕大(SRA OSS, Inc. Japan),@IT]

https://www.atmarkit.co.jp/ait/articles/1306/07/news007.html

 

PostgreSQL 9.4

・マテリアライズドビューの改善

・Logical Decoding

・Background Worker

・JSONB(バイナリ型JSONのサポート)

・postgresql.confへのSQLアクセス

・GIN Indexesのコンパクト化、高速化

・WALのパフォーマンス改善

・Streaming Replicationへのdelayオプション実装

 

PostgreSQL 9.5、9.6

追記予定

 

 

PostgreSQL 9.0 の新機能

1. 64bit版 Windowsのサポート

64bit版のWindowsがサポートされました。

32bitはメモリが最大4GBまでのため、大容量メモリのパワーが発揮できるようになります。

 

2. ホットスタンバイ

ホットスタンバイとは複数のサーバーを用意しておき、システムの障害発生時に本系から待機系へ

瞬時に切り替える方式で障害発生時のダウンタイムを最小限に留める手法です。

この待機サーバーを参照用として活用できるようになり、参照の負荷分散が可能になりました。

待機サーバで集計処理、pg_dump などの重いクエリを実行するとよさげです。

 

3. ストリーミングレプリケーション

ストリーミングレプリケーションとは、稼働サーバの変更情報を待機サーバに転送する機能です。

待機サーバは定期的にデータ更新の差分を受け取り、データベースを複製することができます。