SlideShare a Scribd company logo
1 of 44
© 2023 NTT DATA Group Corporation
- 最新機能までを総ざらい!-
PostgreSQLの
注目機能を振り返る
2023/10/7
株式会社NTTデータグループ
小林 隆浩
© 2023 NTT DATA Group Corporation 3
アジェンダ
01. PostgreSQLリリースを振り返る(2021-2023)
02. PostgreSQL v14の注目機能
03. PostgreSQL v15の注目機能
04. PostgreSQL v16の注目機能
05. まとめ
(おまけ)各クラウドのバージョン対応状況
© 2023 NTT DATA Group Corporation 4
(セッションの注意事項)
⚫ PostgreSQL各バージョンの新機能全てを網羅した内容ではありません。
⚫ 全て知りたいという方は、以下を調べましょう。
⚫ 公式リリースノート
⚫ SRA OSS Tech Blog 「PostgreSQL 14/15/16 検証報告」
⚫ 篠田の虎の巻 「PostgreSQL 14/15/16 新機能検証結果」
各バージョンのリンクは、Let’s POSTGRESにまとまっています。
PostgreSQL14の新機能 | Let's POSTGRES
PostgreSQL15の新機能 | Let's POSTGRES
PostgreSQL16の新機能 | Let's POSTGRES
© 2023 NTT DATA Group Corporation 5
01.
PostgreSQLリリースを振り返る
(2021-2023)
5
© 2023 NTT DATA Group Corporation 6
サマリ:各バージョンの新機能
v15 (2022年) v16 (2023年)
①SQL
②ロジカル
レプリケーション
③性能改善
④バックアップ
⑤モニタリング
⑥ロール
• publicスキーマの権限変更
• MERGE
• REGEXP系
• 行/列フィルタ
• lsn指定の同期スキップ
• エラー時の無効化
• NOT INや外部ソート
• ¥copyの改善
• archive_module
• WAL/ pg_basebackup圧縮
• pg_stat_subscription_stats
• JSON形式のログ
• pg_checkpoint
• JSON関数、IS JSON
• ANY_VALUE
• libpq接続ロードバランシング
• スタンバイからレプリケーション
• パラレル適用
• 双方向
• パラレルクエリ、インクリメンタ
ルソートの拡張
• pg_dump圧縮(lz4/zstd)
• pg_stat_io
• pg_create_subscription
• pg_use_reserved_connections
v14 (2021年)
• SEARCH/CYCLE
• postgres_fdw
• ストリーム送信
• バイナリ転送
• Memoize
• Bottom-up Index
Deletion
• VACUUM改善
• pg_stat_wal
• pg_stat_progress_copy
• pg_read/write_all_data
© 2023 NTT DATA Group Corporation 7
02.
PostgreSQL v14の注目機能
7
© 2023 NTT DATA Group Corporation 8
紹介する新機能(PostgreSQL v14)
①新しいSQL(関数など)
②ロジカルレプリケーションの拡張
③性能改善
④WALやバックアップ関連の改善
⑤モニタリング関連
⑥ロールの追加等
v14
© 2023 NTT DATA Group Corporation 9
①新しいSQL(関数等)
⚫ SEARCH句とCYCLE句
✓ グラフのデータ構造に対して再帰的な問い合わせが
シンプルに書けるように。
✓ SEARCHで探索順序(幅優先/深さ優先)を
指定でき、CYCLEで循環参照の検出が可能。
⚫ パーティションデタッチ時のロック軽減
✓ ALTER TABLE … DETACH PARTITION CONCURRENTLY
✓ AccessExclusiveLockを取らなくなる。
v14
1
2
3
5
4
© 2023 NTT DATA Group Corporation 10
①新しいSQL(関数等) - postgres_fdw -
⚫ 外部テーブルのTRUNCATE
✓ truncatableオプションを指定可能、デフォルトはtrue
⚫ 外部テーブルの非同期スキャン
⚫ async_capableオプションで指定可能、デフォルトはfalse
⚫ Async Foreign Scanが同時並行で実行される。
⚫ 外部テーブルの一括コピー
✓ batch_sizeで指定可能、デフォルトは1
✓ 大量挿入時に1行ずつINSERT文が送信されていたが、これをまとめるように。
v14
© 2023 NTT DATA Group Corporation 11
②ロジカルレプリケーションの拡張 - streaming -
⚫ ストリーム送信
✓ 13以前はパブリッシャ側でファイルに書き込み、コミットで送信(大量変更時の性能↓)
✓ WITH (streaming = on)でコミットを待たずに順次変更を送信
v14
WALsender Apply Worker
デコード結果を保持 メモリの制限を超えると
デコードされた変更を
ストリーミングで送信
残りの変更を送信
適用した変更のCOMMIT
変更を一時ファイル(changes)
に書き込む
変更を読み取り適用
パブリッシャ サブスクライバ
© 2023 NTT DATA Group Corporation 12
②ロジカルレプリケーションの拡張 - その他 -
⚫ 初期同期時の更新を複数トランザクション化
✓ 13以前、「初期コピー」と「初期コピー中の他の更新」が単一トランザクション
⇒ロングトラン化する。更にエラーで全てロールバックされてしまい、やり直しが発生。
✓ 上記が分離され、初期コピー完了後にデータ参照可。その後、他の更新を同期。
⚫ バイナリ転送
✓ CREATE PUBLICATIONでWITH (binary = on)を指定して、バイナリ転送が可能に。
✓ timestamp型やbytea型など一部で性能改善が見込まれる。
v14
© 2023 NTT DATA Group Corporation 13
Memoizeの
キャッシュ
(バックエンドプロセス内)
③性能改善 - Memoize -
⚫ Nested Loopで一部のケースをキャッシュを使って、性能を改善する
✓ enable_memoizeで制御できる(デフォルトon)
例)以下で FROM Tbl1 JOIN ON Tbl2 Tbl1.key = Tbl2.key
Tbl1のkey1のカーディナリティが低く、Tbl2のkeyのカーディナリティは高いケースで有効。
Memoizeなしの場合、Tbl1の1行ごとにTbl2をIndex Scanして結合するが件数が増えるとオーバーヘッド大。
v14
Memoizeをもっと詳しく知りたい方は、第41回PGアンカンファレンスの「Memoizeの仕組み」 by 笠原さんを参照してください。
Tbl1
1
1
...
…
key1
2
…
2
…
Tbl2
1
2
...
…
3 …
4 …
1
2
...
…
key1
通常は初回にキャッシュ、
キャッシュされたレコードは
Tbl2を参照しない
© 2023 NTT DATA Group Corporation 14
③性能改善 - Bottom-up Index Deletion -
⚫ B-Treeインデックスの肥大化抑止
✓ インデックスのタプル削除+重複削除(v13)+Bottom-up Index Deletion
✓ インデックスのページ分割を防ぐ
(HOTは上記の対象外。肥大化を防ぐために、まずはHOTを考えよう。)
v14
Table1
Index1 Index2
X
Y
100
100
...
…
100
100
X
Y
①Index2の対象列を更新
※HOTではない
②’ こちらにも
タプルが追加される
② 新しいタプルが
追加される
③不要なインデックスタプルを
積極的に削除する
© 2023 NTT DATA Group Corporation 15
③性能改善
⚫ パラレルクエリの拡張
✓ REFRESH MATERIALIZED VIEW が並列問い合わせを実行可能に。
⚫ VACUUMコマンドの改善
✓ INDEX_CLEANUP=auto(デフォルト)で、処理が長くなる事の多いインデックスの
Vacuumが(必要に応じて)スキップされる。
✓ Failsafeモードが導入され、XID周回が近づいた際にFreeze以外の処理をスキップ。
v14
© 2023 NTT DATA Group Corporation 16
⑤モニタリング関連
⚫ pg_stat_wal
✓ WALの生成と書き込みに関する情報を表示
⚫ pg_stat_progress_copy
✓ COPYコマンドの進捗状況を確認
⚫ pg_stats_ext_expr
✓ 式を使った拡張統計の情報を表示
⚫ トランザクション周回の警告閾値が変更
⚫ log_autovacuum_min_durationにインデックスの詳細情報が出るように
v14
© 2023 NTT DATA Group Corporation 17
⑥ロールの追加等
⚫ 3つのロールが追加された。
v14
ロール名 概要
pg_database_owner データベース所有者で構成される
pg_read_all_data 全スキーマのテーブル、ビュー、シーケンスを参照できる。
スキーマのUSAGE権限、オブジェクトのSELECT権限に相当。
pg_write_all_data 全スキーマのテーブル、ビュー、シーケンスを参照できる。
スキーマのUSAGE権限、オブジェクトのINSERT、UPDATE、
DELETE権限に相当。
© 2023 NTT DATA Group Corporation 18
03.
PostgreSQL v15の注目機能
1
© 2023 NTT DATA Group Corporation 19
紹介する新機能(PostgreSQL v15)
①新しいSQL(関数など)
②ロジカルレプリケーションの拡張
③性能改善
④WALやバックアップ関連の改善
⑤モニタリング関連
⑥ロールの追加等
v15
© 2023 NTT DATA Group Corporation 20
①新しいSQL(関数等) - 注意すべき変更 -
⚫ publicスキーマに対するCREATE、USAGE権限を削除
✓ セキュリティ対応(CVE-2018-1058)
✓ 15からはpublicスキーマへのアクセスは、pg_database_ownerが必要
(基本的にスーパーユーザとデータベース所有者)
✓ 14以前からのデータベースをリストアした際にも適用される
⇒バージョンアップ時に注意
v15
© 2023 NTT DATA Group Corporation 21
①新しいSQL(関数等) - MERGE -
⚫ 条件に応じて、INSERT/UPDATE/DELETEを単一SQLで実行
✓ MERGE INTO テーブル名
USING 結合元テーブル
ON 結合条件
WHEN MATCHED 条件 THEN
UPDATE SET … / DELETE / DO NOTHING
WHEN NOT MATCHED
INSERT VALUES … / DO NOTHING
✓ 結合条件にマッチした場合 ⇒ UPDATE / DELETE / 何もしない
✓ 結合条件にマッチしなかった場合 ⇒ INSERT / 何もしない
v15
© 2023 NTT DATA Group Corporation 22
(補足)MERGEとそれまでのINSERT文の違い
⚫ 他のUPSERT方法である、INSERT … ON CONFLICTとの違い
✓ MERGEは、対象テーブルを外部結合し、結果行についてUPDATE/INSERT
✓ INSERT ... ON CONFLICTは、まずINSERTして重複で失敗したものについて
UPDATEを行う。
✓ INSERT INTO テーブル名 VALUES (…)
ON CONFLICT (制約名)
DO UPDATE SET c1 = EXCLUDED.c1 , c2 = EXCLUDED.c2;
✓ 実行時の性能特性も異なる。
v15
© 2023 NTT DATA Group Corporation 23
①新しいSQL(関数等) - その他 -
⚫ REGEXP_で始まる5つの関数の追加
関数 出力結果
REGEXP_COUNT パターンにマッチする個数
REGEXP_INSTR パターンにマッチする位置
(引数で開始位置/終了のどちらかを指定)
REGEXP_LIKE パターンにマッチすればtrue、そうでなければfalse
REGEXP_SUBSTR パターンにマッチした文字列
REGEXP_REPLACE パターンにマッチした部分を置換して返す
(15で対象範囲の指定を引数で可能になった)
⚫ 集約関数RANGE_AGGの追加
✓ 複数行の範囲型データ(int4range等)を多重範囲型に集約
v15
© 2023 NTT DATA Group Corporation 24
Schema1
②ロジカルレプリケーションの拡張
⚫ PUBLICATIONの対象をスキーマ単位で指定したり、列/行でフィルタ可能に。
⚫ サブスクライバでスキップ(LSN指定)したり、エラー時の無効化が可能に。
v15
Schema1
エラー発生時に該当更新の同期を
$ ALTER SUBSCRIPTION ... SKIP (LSN=‘lsnの値’)
でスキップが可能。
また、SUBSCRIPTIONに
disable_on_error=true
を指定して、エラー時に無効化する
設定が可能。
パブリッシャ サブスクライバ
Table1
1
Table2
Table1
Table2
PUBLICATION
で行を指定
PUBLICATION
で列を指定
スキーマ一括で
PUBLICATION指定も可
© 2023 NTT DATA Group Corporation 25
③性能改善
⚫ NOT IN句の改善
✓ 内部でハッシュテーブルを使うように変更された(実行計画は変化なし)
⚫ ソート性能の改善
✓ 外部ソート(Sort Method: external merge)のアルゴリズム変更
⚫ ウィンドウ関数の改善
✓ ROW_NUMBER、RANK、COUNTで一部の実行計画を改善
⚫ ¥copy fromの改善
✓ 1行単位のCopyDataメッセージをまとめることで改善
v15
© 2023 NTT DATA Group Corporation 26
④WALやバックアップ関連
⚫ WAL関連の改善
✓ モジュールによるアーカイブが可能に。
✓ archive_libraryでモジュール名を指定。
✓ archive_commandよりも柔軟性の高いアーカイブが可能になった。
✓ 15時点で優先度はarchive_library > archive_command
✓ WAL圧縮でzstd/lz4が指定可能に。
✓ configureで、--with-zstd/--with-lz4が必要。
✓ wal_compressionは、pglz/zstd/lz4/on(=pglz)/offを指定可能。
⚫ pg_basebackupの改善
✓ --compressオプションで圧縮が可能、形式(gzip/zstd/lz4)とレベルを指定。
✓ --targetオプションでバックアップの取得先をclientやserverで選べる。ちなみに
blackholeも指定でき、この場合バックアップは取られない。
v15
© 2023 NTT DATA Group Corporation 27
⑤モニタリング関連
⚫ pg_stat_subscription_statsの追加
✓ ロジカルレプリケーションの同期エラーを表示
✓ サブスクリプションごとに1行、初期同期と更新適用の失敗がカウントされる
⚫ pg_ident_file_mappingsの追加
✓ pg_ident.confの内容を表示
⚫ JSON形式でログ出力が可能に
✓ log_destinataion=jsonlogが指定可能になった
✓ 従来のstderr/csvlog/syslogは変わらず
⚫ log_checkpointのデフォルト値変更
✓ 14以前はデフォルトoff、15からデフォルトがonになった
v15
© 2023 NTT DATA Group Corporation 28
⑥ロールの追加等
⚫ 以下のロールが追加された。
ロール名 概要
pg_checkpoint CHECKPOINTのコマンドが実行可能
v15
© 2023 NTT DATA Group Corporation 29
04.
PostgreSQL v16の注目機能
2
© 2023 NTT DATA Group Corporation 30
紹介する新機能(PostgreSQL v16)
①新しいSQL(関数など)
②ロジカルレプリケーションの拡張
③性能改善
④WALやバックアップ関連の改善
⑤モニタリング関連
⑥ロールの追加等
v16
© 2023 NTT DATA Group Corporation 31
①新しいSQL(関数等) - JSON関連 -
⚫ JSON関連の機能追加
関数 変換元 変換先
JSON_OBJECT テキスト配列 JSONオブジェクト
JSON_OBJECTAGG 複数行のデータ(SELECT結果等) JSONオブジェクト
JSON_ARRAY スカラ値やJSONデータ JSON配列
JSON_ARRAYAGG 複数行のデータ JSON配列
述語 判定内容 (true/false)
IS JSON JSONとして解釈できるか
IS JSON ARRAY JSON配列として解釈できるか
IS JSON OBJECT JSONオブジェクトとして解釈できるか
IS JSON SCALAR JSONのスカラ値として解釈できるか
v16
© 2023 NTT DATA Group Corporation 32
①新しいSQL/構文 - その他 -
⚫ ANY_VALUE
✓ GROUP BYに含まれない列を集計関数を使わずに参照するとエラー。
✓ 解消方法:GROUP BYに列を含める、またはMIN/MAX/ANY_VALUE
⚫ 数値リテラル
✓ 2/8/16進数を表現することが可能に。
✓ (2進数)0b1001=9 (8進数)0o25=21 (16進数)0x32=50
⚫ ICUロケールの拡張
✓ 15以前はICUライブラリを照合順序で有効にするには、configure時に
--with-icuが必要。
✓ 16ではデフォルトで有効となり、除外する際に--without-icuが必要。
✓ これまでのconfigureが通らないケースも発生するので注意。
v16
© 2023 NTT DATA Group Corporation 33
①新しいSQL/構文 - libpqロードバランシング -
⚫ 複数ホストからランダムな接続が可能に
✓ 接続パラメータのload_balance_hosts=randomと、複数ホストのリストを指定。
✓ デフォルトだとload_balance_hosts=disableで、ラウンドロビンになる。
✓ psqlなどlibpqを使うアプリケーションで利用可能
v16
client
psql “host=aaa,bbb,ccc
load_balance_hosts=random”
host=aaa
host=bbb
host=ccc
接続先をランダムに選択、
エラー時は別の接続を試す
© 2023 NTT DATA Group Corporation 34
②ロジカルレプリケーションの拡張 - スタンバイからのレプリケーション -
⚫ ストリーミングレプリケーションのスタンバイを、パブリッシャーとして構成可能
プライマリ スタンバイ
パブリッシャ パブリッシャ サブスクライバ
ロジカル
レプリケーション
ストリーミング
レプリケーション
PUBLICATION SUBSCRIPTION
PUBLICATION
• PUBLICATIONはプライマリで作成
• pg_log_standby_snapshotでスタンバイへ
のレプリケーションのスロットを即時反映
v16
© 2023 NTT DATA Group Corporation 35
②ロジカルレプリケーションの拡張 - steaming = parallel -
⚫ 15以前でstreamingオプションはon/offだったが、parallelが追加
✓ CREATE SUBSCRIPTION sub_1
CONNECTION ‘port=5432 dbname=pub_db’ PUBLICATION pub
WITH (streaming = parallel);
v16
WALsender
Parallel
Apply Worker
Apply Worker
デコード結果を保持
メモリの制限を超えると
デコードされた変更を
ストリーミングで送信
(これはおそらくv14同等)
COMMIT時に全変更を
一度に送信 COMMITを指示
並列ワーカを
起動
変更を適用
メッセージ送信
max_parallel_apply_workers_per_subscriptionでワーカ数を指定
パブリッシャ サブスクライバ
© 2023 NTT DATA Group Corporation 36
テーブルA
テーブルA
②ロジカルレプリケーションの拡張 - 双方向レプリケーション -
⚫ 15までは双方向レプリケーションをすると循環してしまっていた。
⚫ 16から with (origin=none) が追加、双方向で更新が可能に。
✓ 同一キーでの挿入など、衝突が起きるケースがある。
✓ 衝突時は手動でスキップするなどの対応が必要。
v16
PUBLICATION SUBSCRIPTION
PUBLICATION
SUBSCRIPTION
origin=none
origin=none
パブリッシャにoriginを持たない変更のみの送信を要求
© 2023 NTT DATA Group Corporation 37
②ロジカルレプリケーションの拡張 - その他 -
⚫ 初期コピーでバイナリ形式が利用可に
✓ パブ/サブどちらも16以上 & サブスクリプションで with (binary = on)
✓ 初期データ移行もバイナリ形式で転送可 (15以前はテキスト形式のみ)
✓ 一部データ型が含まれる場合、所要時間が短縮されることがある。
⚫ Primary Key以外のインデックスが利用可に
✓ replica identity fullを指定した際、15以前ではフルスキャン。
✓ 16ではPrimary Key以外のインデックスを利用して、サブスクライバ側のデータ同期性
能が向上。
v16
© 2023 NTT DATA Group Corporation 38
③性能改善
⚫ パラレルクエリの拡張
✓ right outer join/full outer joinでパラレルクエリをサポート。
✓ 実行計画にParallel Hash Full Joinが登場するように 。
✓ string_arg、array_argで集約処理の一部をパラレルに実行、実行計画上はPartial
Aggregateが表示される。
⚫ インクリメンタルソートの拡張
✓ インクリメンタルソート自体は13で登場、インデックスを利用して一部のソートを高速化。
ディスクソートも避けられる。15まではSELECT DISTINCTは対象外。
✓ 16からSELECT DISTINCTでも、Incremental Sortが使われるように。
v16
© 2023 NTT DATA Group Corporation 39
④WALやバックアップ関連の改善
⚫ pg_dumpでlz4とzstdに対応
✓ -zまたは--compressで、gzip/lz4/zstdと圧縮レベルを指定可能(noneで非圧縮)
✓ 15以前はgzipのみ
⚫ archive_commandとarchive_libraryの同時指定不可
✓ 15で追加されたarchive_libraryパラメータ、15時点ではarchive_commandと同時
に指定可能(archive_libraryが優先される)
✓ 16では同時に追加できない、設定ファイルの書き方に注意
v16
© 2023 NTT DATA Group Corporation 40
⑤モニタリング関連
⚫ pg_stat_ioビューの追加
✓ PostgreSQLのIOに関連する統計情報を表示
✓ OSレベルでは調べるのが難しい、共有バッファ内のreadなども見れるように
✓ 今後、各種ツールでも対応が進むと思われる
v16
© 2023 NTT DATA Group Corporation 41
⑥ロールの追加等
⚫ 2つのロールが追加された。
ロール名 概要
pg_create_subscription スーパーユーザ以外でも、CREATE SUBSCRIPTIONが可能
pg_use_reserved_connections reserved_connectionsで予約した接続数を使って接続が可能。
なお、実際のコネクションは以下でカウントされるため、利用時に注
意が必要。
max_connections = superuser_reserved_connection
+ reserved_connection
+ その他一般ユーザ
pg_maintain (VACUUMやANALYZE等ができる権限だったがリバートされた)
v16
© 2023 NTT DATA Group Corporation 42
05.
まとめ
4
© 2023 NTT DATA Group Corporation 43
(再掲)サマリ:各バージョンの新機能
①SQL
②ロジカル
レプリケーション
③性能改善
④バックアップ
⑤モニタリング
⑥ロール
• publicスキーマの権限変更
• MERGE
• REGEXP系
• 行/列フィルタ
• lsn指定の同期スキップ
• エラー時の無効化
• NOT INや外部ソート
• ¥copyの改善
• archive_module
• WAL/ pg_basebackup圧縮
• pg_stat_subscription_stats
• JSON形式のログ
• pg_checkpoint
• SEARCH/CYCLE
• postgres_fdw
• ストリーム送信
• バイナリ転送
• Memoize
• Bottom-up Index
Deletion
• VACUUM改善
• pg_stat_wal
• pg_stat_progress_copy
• pg_read/write_all_data
• JSON関数、IS JSON
• ANY_VALUE
• libpq接続ロードバランシング
• スタンバイからレプリケーション
• パラレル適用
• 双方向
• パラレルクエリ、インクリメンタ
ルソートの拡張
• pg_dump圧縮(lz4/zstd)
• pg_stat_io
• pg_create_subscription
• pg_use_reserved_connections
開発者向け、使いたいSQLがあればどんどんバージョンアップを
ロジカルレプリケーションを使い倒したいなら、最新バージョンを使おう
地道な性能改善の取り込みを意識しよう
実行計画も新しくなるので、バージョンアップ後は知識のアップデートも必要
どちらかと言うとDB管理者向け、クラウド利用の場合はメリット少なめ
オンプレ/自前で大量DB管理するケースでバージョンアップのメリット大きい
v15 (2022年) v16 (2023年)
v14 (2021年)
© 2023 NTT DATA Group Corporation 44
さて、PostgreSQL v17はどうなる? ※あくまで予想です
v14 v15 v16 v17
• publicスキーマの権限
• MERGE
• REGEXP系
• 行/列フィルタ
• lsn指定の同期スキップ
• エラー時の無効化
• NOT INや外部ソート
• ¥copyの改善
• archive_module
• WAL/ pg_basebackup圧縮
• pg_stat_subscription_stats
• JSON形式のログ
• pg_checkpoint
• SEARCH/CYCLE
• postgres_fdw
• ストリーム送信
• バイナリ転送
• Memoize
• Bottom-up Index
Deletion
• VACUUM改善
• pg_stat_wal
• pg_stat_progress_copy
• pg_read/write_all_data
• JSON関数、IS JSON
• ANY_VALUE
• libpq接続ロードバランシング
• スタンバイから
• パラレル適用
• 双方向
• パラレルクエリ、
インクリメンタルソートの
拡張
• pg_dump圧縮(lz4/zstd)
• pg_stat_io
• pg_create_subscription
• pg_use_reserved_connections
①SQL
③性能改善
④バックアップ
⑤モニタリング
⑥ロール
②ロジカル
レプリケーション
• SQL/JSON関連
• 透過的カラム暗号化
• Table AMのAPI拡張
• DDLやSeqの対応
• Time-delayed
• Async IO
• ロックの改善
• 64bit XID(freeze削減)
• Incremental Backup
• WALサイズの削減
• 一部コマンドでsuperuser権限が
不要に
© 2023 NTT DATA Group Corporation 45
(おまけ)クラウドにおける対応状況
⚫ 2023/10時点の各社サービスのPostgreSQLバージョン対応状況
クラウド サービス名 PostgreSQL Ver. 備考
AWS
RDS for PostgreSQL 11 - 15 16はプレビュー
Aurora PostgreSQL 11 - 15 LTS 12.9/13.9/14.6
Azure
Azure Database for PostgreSQL 11 - 15
Cosmos DB for PostgreSQL 11 - 16
Google
Cloud
Cloud SQL for PostgreSQL 9.6 - 15 Enterprise Plusは14,15
Alloy DB for PostgreSQL 14互換
PostgreSQL interface for Spanner - 完全な互換性はない
OCI OCI Database for PostgreSQL 14.9 2023/12?

More Related Content

What's hot

速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)NTT DATA Technology & Innovation
 
PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...
オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...
オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...NTT DATA Technology & Innovation
 
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
PostgreSQL 15の新機能を徹底解説
PostgreSQL 15の新機能を徹底解説PostgreSQL 15の新機能を徹底解説
PostgreSQL 15の新機能を徹底解説Masahiko Sawada
 
PostgreSQLのgitレポジトリから見える2021年の開発状況(第30回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのgitレポジトリから見える2021年の開発状況(第30回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQLのgitレポジトリから見える2021年の開発状況(第30回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのgitレポジトリから見える2021年の開発状況(第30回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
PostgreSQL16でのロールに関する変更点(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL16でのロールに関する変更点(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQL16でのロールに関する変更点(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL16でのロールに関する変更点(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...
PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...
PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...NTT DATA Technology & Innovation
 
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...NTT DATA Technology & Innovation
 
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -onozaty
 
PG-REXで学ぶPacemaker運用の実例
PG-REXで学ぶPacemaker運用の実例PG-REXで学ぶPacemaker運用の実例
PG-REXで学ぶPacemaker運用の実例kazuhcurry
 
PostgreSQLの関数属性を知ろう
PostgreSQLの関数属性を知ろうPostgreSQLの関数属性を知ろう
PostgreSQLの関数属性を知ろうkasaharatt
 
世の中のPostgreSQLエンジニアのpsql設定(第34回PostgreSQLアンカンファレンス@オンライン 発表資料)
世の中のPostgreSQLエンジニアのpsql設定(第34回PostgreSQLアンカンファレンス@オンライン 発表資料)世の中のPostgreSQLエンジニアのpsql設定(第34回PostgreSQLアンカンファレンス@オンライン 発表資料)
世の中のPostgreSQLエンジニアのpsql設定(第34回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)NTT DATA Technology & Innovation
 
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)NTT DATA Technology & Innovation
 
PostgreSQLアーキテクチャ入門(INSIGHT OUT 2011)
PostgreSQLアーキテクチャ入門(INSIGHT OUT 2011)PostgreSQLアーキテクチャ入門(INSIGHT OUT 2011)
PostgreSQLアーキテクチャ入門(INSIGHT OUT 2011)Uptime Technologies LLC (JP)
 
Memoizeの仕組み(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
Memoizeの仕組み(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)Memoizeの仕組み(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
Memoizeの仕組み(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
オンライン物理バックアップの排他モードと非排他モードについて(第15回PostgreSQLアンカンファレンス@オンライン 発表資料)
オンライン物理バックアップの排他モードと非排他モードについて(第15回PostgreSQLアンカンファレンス@オンライン 発表資料)オンライン物理バックアップの排他モードと非排他モードについて(第15回PostgreSQLアンカンファレンス@オンライン 発表資料)
オンライン物理バックアップの排他モードと非排他モードについて(第15回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 

What's hot (20)

速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)
 
PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...
オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...
オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...
 
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
PostgreSQL 15の新機能を徹底解説
PostgreSQL 15の新機能を徹底解説PostgreSQL 15の新機能を徹底解説
PostgreSQL 15の新機能を徹底解説
 
PostgreSQLのgitレポジトリから見える2021年の開発状況(第30回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのgitレポジトリから見える2021年の開発状況(第30回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQLのgitレポジトリから見える2021年の開発状況(第30回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのgitレポジトリから見える2021年の開発状況(第30回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
PostgreSQL16でのロールに関する変更点(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL16でのロールに関する変更点(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQL16でのロールに関する変更点(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL16でのロールに関する変更点(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...
PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...
PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...
 
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...
 
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
 
PG-REXで学ぶPacemaker運用の実例
PG-REXで学ぶPacemaker運用の実例PG-REXで学ぶPacemaker運用の実例
PG-REXで学ぶPacemaker運用の実例
 
PostgreSQLの関数属性を知ろう
PostgreSQLの関数属性を知ろうPostgreSQLの関数属性を知ろう
PostgreSQLの関数属性を知ろう
 
世の中のPostgreSQLエンジニアのpsql設定(第34回PostgreSQLアンカンファレンス@オンライン 発表資料)
世の中のPostgreSQLエンジニアのpsql設定(第34回PostgreSQLアンカンファレンス@オンライン 発表資料)世の中のPostgreSQLエンジニアのpsql設定(第34回PostgreSQLアンカンファレンス@オンライン 発表資料)
世の中のPostgreSQLエンジニアのpsql設定(第34回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
 
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
 
PostgreSQLアーキテクチャ入門(INSIGHT OUT 2011)
PostgreSQLアーキテクチャ入門(INSIGHT OUT 2011)PostgreSQLアーキテクチャ入門(INSIGHT OUT 2011)
PostgreSQLアーキテクチャ入門(INSIGHT OUT 2011)
 
Memoizeの仕組み(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
Memoizeの仕組み(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)Memoizeの仕組み(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
Memoizeの仕組み(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
Vacuum徹底解説
Vacuum徹底解説Vacuum徹底解説
Vacuum徹底解説
 
オンライン物理バックアップの排他モードと非排他モードについて(第15回PostgreSQLアンカンファレンス@オンライン 発表資料)
オンライン物理バックアップの排他モードと非排他モードについて(第15回PostgreSQLアンカンファレンス@オンライン 発表資料)オンライン物理バックアップの排他モードと非排他モードについて(第15回PostgreSQLアンカンファレンス@オンライン 発表資料)
オンライン物理バックアップの排他モードと非排他モードについて(第15回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
PostgreSQLバックアップの基本
PostgreSQLバックアップの基本PostgreSQLバックアップの基本
PostgreSQLバックアップの基本
 

Similar to 最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)

今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...NTT DATA Technology & Innovation
 
PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...
PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...
PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...NTT DATA Technology & Innovation
 
今秋リリース予定のPostgreSQL11を徹底解説
今秋リリース予定のPostgreSQL11を徹底解説今秋リリース予定のPostgreSQL11を徹底解説
今秋リリース予定のPostgreSQL11を徹底解説Masahiko Sawada
 
Amazon Redshift パフォーマンスチューニングテクニックと最新アップデート
Amazon Redshift パフォーマンスチューニングテクニックと最新アップデートAmazon Redshift パフォーマンスチューニングテクニックと最新アップデート
Amazon Redshift パフォーマンスチューニングテクニックと最新アップデートAmazon Web Services Japan
 
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)NTT DATA Technology & Innovation
 
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...NTT DATA Technology & Innovation
 
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)NTT DATA Technology & Innovation
 
PostgreSQL13 新機能紹介
PostgreSQL13 新機能紹介PostgreSQL13 新機能紹介
PostgreSQL13 新機能紹介Satoshi Hirata
 
Apache CloudStack 4.0 インストール(ver0.5)
Apache CloudStack 4.0 インストール(ver0.5)Apache CloudStack 4.0 インストール(ver0.5)
Apache CloudStack 4.0 インストール(ver0.5)Yasuhiro Arai
 
PostgreSQLのgitレポジトリから見える2022年の開発状況(第38回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのgitレポジトリから見える2022年の開発状況(第38回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQLのgitレポジトリから見える2022年の開発状況(第38回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのgitレポジトリから見える2022年の開発状況(第38回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...NTT DATA Technology & Innovation
 
Apache cloudstack4.0インストール
Apache cloudstack4.0インストールApache cloudstack4.0インストール
Apache cloudstack4.0インストールYasuhiro Arai
 
PostgreSQL16新機能紹介 - libpq接続ロード・バランシング(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL16新機能紹介 - libpq接続ロード・バランシング(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQL16新機能紹介 - libpq接続ロード・バランシング(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL16新機能紹介 - libpq接続ロード・バランシング(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
GPUとSSDがPostgreSQLを加速する~クエリ処理スループット10GB/sへの挑戦~ [DB Tech Showcase Tokyo/2017]
GPUとSSDがPostgreSQLを加速する~クエリ処理スループット10GB/sへの挑戦~ [DB Tech Showcase Tokyo/2017]GPUとSSDがPostgreSQLを加速する~クエリ処理スループット10GB/sへの挑戦~ [DB Tech Showcase Tokyo/2017]
GPUとSSDがPostgreSQLを加速する~クエリ処理スループット10GB/sへの挑戦~ [DB Tech Showcase Tokyo/2017]Kohei KaiGai
 

Similar to 最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料) (20)

今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
 
PostgreSQL 9.5 新機能紹介
PostgreSQL 9.5 新機能紹介PostgreSQL 9.5 新機能紹介
PostgreSQL 9.5 新機能紹介
 
PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...
PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...
PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...
 
PostgreSQLの運用・監視にまつわるエトセトラ
PostgreSQLの運用・監視にまつわるエトセトラPostgreSQLの運用・監視にまつわるエトセトラ
PostgreSQLの運用・監視にまつわるエトセトラ
 
今秋リリース予定のPostgreSQL11を徹底解説
今秋リリース予定のPostgreSQL11を徹底解説今秋リリース予定のPostgreSQL11を徹底解説
今秋リリース予定のPostgreSQL11を徹底解説
 
Amazon Redshift パフォーマンスチューニングテクニックと最新アップデート
Amazon Redshift パフォーマンスチューニングテクニックと最新アップデートAmazon Redshift パフォーマンスチューニングテクニックと最新アップデート
Amazon Redshift パフォーマンスチューニングテクニックと最新アップデート
 
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
 
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...
 
PostgreSQL9.3新機能紹介
PostgreSQL9.3新機能紹介PostgreSQL9.3新機能紹介
PostgreSQL9.3新機能紹介
 
pg_bigmを用いた全文検索のしくみ(前編)
pg_bigmを用いた全文検索のしくみ(前編)pg_bigmを用いた全文検索のしくみ(前編)
pg_bigmを用いた全文検索のしくみ(前編)
 
PostgreSQL 12の話
PostgreSQL 12の話PostgreSQL 12の話
PostgreSQL 12の話
 
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
 
PostgreSQL13 新機能紹介
PostgreSQL13 新機能紹介PostgreSQL13 新機能紹介
PostgreSQL13 新機能紹介
 
Apache CloudStack 4.0 インストール(ver0.5)
Apache CloudStack 4.0 インストール(ver0.5)Apache CloudStack 4.0 インストール(ver0.5)
Apache CloudStack 4.0 インストール(ver0.5)
 
PostgreSQLのgitレポジトリから見える2022年の開発状況(第38回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのgitレポジトリから見える2022年の開発状況(第38回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQLのgitレポジトリから見える2022年の開発状況(第38回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのgitレポジトリから見える2022年の開発状況(第38回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...
 
osoljp 2011.08
osoljp 2011.08osoljp 2011.08
osoljp 2011.08
 
Apache cloudstack4.0インストール
Apache cloudstack4.0インストールApache cloudstack4.0インストール
Apache cloudstack4.0インストール
 
PostgreSQL16新機能紹介 - libpq接続ロード・バランシング(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL16新機能紹介 - libpq接続ロード・バランシング(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQL16新機能紹介 - libpq接続ロード・バランシング(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL16新機能紹介 - libpq接続ロード・バランシング(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
GPUとSSDがPostgreSQLを加速する~クエリ処理スループット10GB/sへの挑戦~ [DB Tech Showcase Tokyo/2017]
GPUとSSDがPostgreSQLを加速する~クエリ処理スループット10GB/sへの挑戦~ [DB Tech Showcase Tokyo/2017]GPUとSSDがPostgreSQLを加速する~クエリ処理スループット10GB/sへの挑戦~ [DB Tech Showcase Tokyo/2017]
GPUとSSDがPostgreSQLを加速する~クエリ処理スループット10GB/sへの挑戦~ [DB Tech Showcase Tokyo/2017]
 

More from NTT DATA Technology & Innovation

OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)NTT DATA Technology & Innovation
 
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方NTT DATA Technology & Innovation
 
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...NTT DATA Technology & Innovation
 
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)NTT DATA Technology & Innovation
 
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)NTT DATA Technology & Innovation
 
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)NTT DATA Technology & Innovation
 
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)NTT DATA Technology & Innovation
 
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...NTT DATA Technology & Innovation
 
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)NTT DATA Technology & Innovation
 
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)NTT DATA Technology & Innovation
 
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)NTT DATA Technology & Innovation
 
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...NTT DATA Technology & Innovation
 
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)NTT DATA Technology & Innovation
 
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)NTT DATA Technology & Innovation
 
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)
どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)
どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)NTT DATA Technology & Innovation
 
YugabyteDBの拡張機能(YugabyteDB Meetup #2 発表資料)
YugabyteDBの拡張機能(YugabyteDB Meetup #2 発表資料)YugabyteDBの拡張機能(YugabyteDB Meetup #2 発表資料)
YugabyteDBの拡張機能(YugabyteDB Meetup #2 発表資料)NTT DATA Technology & Innovation
 
GraalVMでのFlight Recorderを使ったパフォーマンス解析(JJUG CCC 2023 Spring)
GraalVMでのFlight Recorderを使ったパフォーマンス解析(JJUG CCC 2023 Spring)GraalVMでのFlight Recorderを使ったパフォーマンス解析(JJUG CCC 2023 Spring)
GraalVMでのFlight Recorderを使ったパフォーマンス解析(JJUG CCC 2023 Spring)NTT DATA Technology & Innovation
 

More from NTT DATA Technology & Innovation (20)

OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
 
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
 
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方
 
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...
 
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
 
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
 
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
 
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
 
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
 
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
 
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
 
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
 
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
 
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)
 
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
 
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)
どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)
どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)
 
YugabyteDBの拡張機能(YugabyteDB Meetup #2 発表資料)
YugabyteDBの拡張機能(YugabyteDB Meetup #2 発表資料)YugabyteDBの拡張機能(YugabyteDB Meetup #2 発表資料)
YugabyteDBの拡張機能(YugabyteDB Meetup #2 発表資料)
 
GraalVMでのFlight Recorderを使ったパフォーマンス解析(JJUG CCC 2023 Spring)
GraalVMでのFlight Recorderを使ったパフォーマンス解析(JJUG CCC 2023 Spring)GraalVMでのFlight Recorderを使ったパフォーマンス解析(JJUG CCC 2023 Spring)
GraalVMでのFlight Recorderを使ったパフォーマンス解析(JJUG CCC 2023 Spring)
 

Recently uploaded

【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 

Recently uploaded (9)

【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 

最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)

  • 1. © 2023 NTT DATA Group Corporation - 最新機能までを総ざらい!- PostgreSQLの 注目機能を振り返る 2023/10/7 株式会社NTTデータグループ 小林 隆浩
  • 2. © 2023 NTT DATA Group Corporation 3 アジェンダ 01. PostgreSQLリリースを振り返る(2021-2023) 02. PostgreSQL v14の注目機能 03. PostgreSQL v15の注目機能 04. PostgreSQL v16の注目機能 05. まとめ (おまけ)各クラウドのバージョン対応状況
  • 3. © 2023 NTT DATA Group Corporation 4 (セッションの注意事項) ⚫ PostgreSQL各バージョンの新機能全てを網羅した内容ではありません。 ⚫ 全て知りたいという方は、以下を調べましょう。 ⚫ 公式リリースノート ⚫ SRA OSS Tech Blog 「PostgreSQL 14/15/16 検証報告」 ⚫ 篠田の虎の巻 「PostgreSQL 14/15/16 新機能検証結果」 各バージョンのリンクは、Let’s POSTGRESにまとまっています。 PostgreSQL14の新機能 | Let's POSTGRES PostgreSQL15の新機能 | Let's POSTGRES PostgreSQL16の新機能 | Let's POSTGRES
  • 4. © 2023 NTT DATA Group Corporation 5 01. PostgreSQLリリースを振り返る (2021-2023) 5
  • 5. © 2023 NTT DATA Group Corporation 6 サマリ:各バージョンの新機能 v15 (2022年) v16 (2023年) ①SQL ②ロジカル レプリケーション ③性能改善 ④バックアップ ⑤モニタリング ⑥ロール • publicスキーマの権限変更 • MERGE • REGEXP系 • 行/列フィルタ • lsn指定の同期スキップ • エラー時の無効化 • NOT INや外部ソート • ¥copyの改善 • archive_module • WAL/ pg_basebackup圧縮 • pg_stat_subscription_stats • JSON形式のログ • pg_checkpoint • JSON関数、IS JSON • ANY_VALUE • libpq接続ロードバランシング • スタンバイからレプリケーション • パラレル適用 • 双方向 • パラレルクエリ、インクリメンタ ルソートの拡張 • pg_dump圧縮(lz4/zstd) • pg_stat_io • pg_create_subscription • pg_use_reserved_connections v14 (2021年) • SEARCH/CYCLE • postgres_fdw • ストリーム送信 • バイナリ転送 • Memoize • Bottom-up Index Deletion • VACUUM改善 • pg_stat_wal • pg_stat_progress_copy • pg_read/write_all_data
  • 6. © 2023 NTT DATA Group Corporation 7 02. PostgreSQL v14の注目機能 7
  • 7. © 2023 NTT DATA Group Corporation 8 紹介する新機能(PostgreSQL v14) ①新しいSQL(関数など) ②ロジカルレプリケーションの拡張 ③性能改善 ④WALやバックアップ関連の改善 ⑤モニタリング関連 ⑥ロールの追加等 v14
  • 8. © 2023 NTT DATA Group Corporation 9 ①新しいSQL(関数等) ⚫ SEARCH句とCYCLE句 ✓ グラフのデータ構造に対して再帰的な問い合わせが シンプルに書けるように。 ✓ SEARCHで探索順序(幅優先/深さ優先)を 指定でき、CYCLEで循環参照の検出が可能。 ⚫ パーティションデタッチ時のロック軽減 ✓ ALTER TABLE … DETACH PARTITION CONCURRENTLY ✓ AccessExclusiveLockを取らなくなる。 v14 1 2 3 5 4
  • 9. © 2023 NTT DATA Group Corporation 10 ①新しいSQL(関数等) - postgres_fdw - ⚫ 外部テーブルのTRUNCATE ✓ truncatableオプションを指定可能、デフォルトはtrue ⚫ 外部テーブルの非同期スキャン ⚫ async_capableオプションで指定可能、デフォルトはfalse ⚫ Async Foreign Scanが同時並行で実行される。 ⚫ 外部テーブルの一括コピー ✓ batch_sizeで指定可能、デフォルトは1 ✓ 大量挿入時に1行ずつINSERT文が送信されていたが、これをまとめるように。 v14
  • 10. © 2023 NTT DATA Group Corporation 11 ②ロジカルレプリケーションの拡張 - streaming - ⚫ ストリーム送信 ✓ 13以前はパブリッシャ側でファイルに書き込み、コミットで送信(大量変更時の性能↓) ✓ WITH (streaming = on)でコミットを待たずに順次変更を送信 v14 WALsender Apply Worker デコード結果を保持 メモリの制限を超えると デコードされた変更を ストリーミングで送信 残りの変更を送信 適用した変更のCOMMIT 変更を一時ファイル(changes) に書き込む 変更を読み取り適用 パブリッシャ サブスクライバ
  • 11. © 2023 NTT DATA Group Corporation 12 ②ロジカルレプリケーションの拡張 - その他 - ⚫ 初期同期時の更新を複数トランザクション化 ✓ 13以前、「初期コピー」と「初期コピー中の他の更新」が単一トランザクション ⇒ロングトラン化する。更にエラーで全てロールバックされてしまい、やり直しが発生。 ✓ 上記が分離され、初期コピー完了後にデータ参照可。その後、他の更新を同期。 ⚫ バイナリ転送 ✓ CREATE PUBLICATIONでWITH (binary = on)を指定して、バイナリ転送が可能に。 ✓ timestamp型やbytea型など一部で性能改善が見込まれる。 v14
  • 12. © 2023 NTT DATA Group Corporation 13 Memoizeの キャッシュ (バックエンドプロセス内) ③性能改善 - Memoize - ⚫ Nested Loopで一部のケースをキャッシュを使って、性能を改善する ✓ enable_memoizeで制御できる(デフォルトon) 例)以下で FROM Tbl1 JOIN ON Tbl2 Tbl1.key = Tbl2.key Tbl1のkey1のカーディナリティが低く、Tbl2のkeyのカーディナリティは高いケースで有効。 Memoizeなしの場合、Tbl1の1行ごとにTbl2をIndex Scanして結合するが件数が増えるとオーバーヘッド大。 v14 Memoizeをもっと詳しく知りたい方は、第41回PGアンカンファレンスの「Memoizeの仕組み」 by 笠原さんを参照してください。 Tbl1 1 1 ... … key1 2 … 2 … Tbl2 1 2 ... … 3 … 4 … 1 2 ... … key1 通常は初回にキャッシュ、 キャッシュされたレコードは Tbl2を参照しない
  • 13. © 2023 NTT DATA Group Corporation 14 ③性能改善 - Bottom-up Index Deletion - ⚫ B-Treeインデックスの肥大化抑止 ✓ インデックスのタプル削除+重複削除(v13)+Bottom-up Index Deletion ✓ インデックスのページ分割を防ぐ (HOTは上記の対象外。肥大化を防ぐために、まずはHOTを考えよう。) v14 Table1 Index1 Index2 X Y 100 100 ... … 100 100 X Y ①Index2の対象列を更新 ※HOTではない ②’ こちらにも タプルが追加される ② 新しいタプルが 追加される ③不要なインデックスタプルを 積極的に削除する
  • 14. © 2023 NTT DATA Group Corporation 15 ③性能改善 ⚫ パラレルクエリの拡張 ✓ REFRESH MATERIALIZED VIEW が並列問い合わせを実行可能に。 ⚫ VACUUMコマンドの改善 ✓ INDEX_CLEANUP=auto(デフォルト)で、処理が長くなる事の多いインデックスの Vacuumが(必要に応じて)スキップされる。 ✓ Failsafeモードが導入され、XID周回が近づいた際にFreeze以外の処理をスキップ。 v14
  • 15. © 2023 NTT DATA Group Corporation 16 ⑤モニタリング関連 ⚫ pg_stat_wal ✓ WALの生成と書き込みに関する情報を表示 ⚫ pg_stat_progress_copy ✓ COPYコマンドの進捗状況を確認 ⚫ pg_stats_ext_expr ✓ 式を使った拡張統計の情報を表示 ⚫ トランザクション周回の警告閾値が変更 ⚫ log_autovacuum_min_durationにインデックスの詳細情報が出るように v14
  • 16. © 2023 NTT DATA Group Corporation 17 ⑥ロールの追加等 ⚫ 3つのロールが追加された。 v14 ロール名 概要 pg_database_owner データベース所有者で構成される pg_read_all_data 全スキーマのテーブル、ビュー、シーケンスを参照できる。 スキーマのUSAGE権限、オブジェクトのSELECT権限に相当。 pg_write_all_data 全スキーマのテーブル、ビュー、シーケンスを参照できる。 スキーマのUSAGE権限、オブジェクトのINSERT、UPDATE、 DELETE権限に相当。
  • 17. © 2023 NTT DATA Group Corporation 18 03. PostgreSQL v15の注目機能 1
  • 18. © 2023 NTT DATA Group Corporation 19 紹介する新機能(PostgreSQL v15) ①新しいSQL(関数など) ②ロジカルレプリケーションの拡張 ③性能改善 ④WALやバックアップ関連の改善 ⑤モニタリング関連 ⑥ロールの追加等 v15
  • 19. © 2023 NTT DATA Group Corporation 20 ①新しいSQL(関数等) - 注意すべき変更 - ⚫ publicスキーマに対するCREATE、USAGE権限を削除 ✓ セキュリティ対応(CVE-2018-1058) ✓ 15からはpublicスキーマへのアクセスは、pg_database_ownerが必要 (基本的にスーパーユーザとデータベース所有者) ✓ 14以前からのデータベースをリストアした際にも適用される ⇒バージョンアップ時に注意 v15
  • 20. © 2023 NTT DATA Group Corporation 21 ①新しいSQL(関数等) - MERGE - ⚫ 条件に応じて、INSERT/UPDATE/DELETEを単一SQLで実行 ✓ MERGE INTO テーブル名 USING 結合元テーブル ON 結合条件 WHEN MATCHED 条件 THEN UPDATE SET … / DELETE / DO NOTHING WHEN NOT MATCHED INSERT VALUES … / DO NOTHING ✓ 結合条件にマッチした場合 ⇒ UPDATE / DELETE / 何もしない ✓ 結合条件にマッチしなかった場合 ⇒ INSERT / 何もしない v15
  • 21. © 2023 NTT DATA Group Corporation 22 (補足)MERGEとそれまでのINSERT文の違い ⚫ 他のUPSERT方法である、INSERT … ON CONFLICTとの違い ✓ MERGEは、対象テーブルを外部結合し、結果行についてUPDATE/INSERT ✓ INSERT ... ON CONFLICTは、まずINSERTして重複で失敗したものについて UPDATEを行う。 ✓ INSERT INTO テーブル名 VALUES (…) ON CONFLICT (制約名) DO UPDATE SET c1 = EXCLUDED.c1 , c2 = EXCLUDED.c2; ✓ 実行時の性能特性も異なる。 v15
  • 22. © 2023 NTT DATA Group Corporation 23 ①新しいSQL(関数等) - その他 - ⚫ REGEXP_で始まる5つの関数の追加 関数 出力結果 REGEXP_COUNT パターンにマッチする個数 REGEXP_INSTR パターンにマッチする位置 (引数で開始位置/終了のどちらかを指定) REGEXP_LIKE パターンにマッチすればtrue、そうでなければfalse REGEXP_SUBSTR パターンにマッチした文字列 REGEXP_REPLACE パターンにマッチした部分を置換して返す (15で対象範囲の指定を引数で可能になった) ⚫ 集約関数RANGE_AGGの追加 ✓ 複数行の範囲型データ(int4range等)を多重範囲型に集約 v15
  • 23. © 2023 NTT DATA Group Corporation 24 Schema1 ②ロジカルレプリケーションの拡張 ⚫ PUBLICATIONの対象をスキーマ単位で指定したり、列/行でフィルタ可能に。 ⚫ サブスクライバでスキップ(LSN指定)したり、エラー時の無効化が可能に。 v15 Schema1 エラー発生時に該当更新の同期を $ ALTER SUBSCRIPTION ... SKIP (LSN=‘lsnの値’) でスキップが可能。 また、SUBSCRIPTIONに disable_on_error=true を指定して、エラー時に無効化する 設定が可能。 パブリッシャ サブスクライバ Table1 1 Table2 Table1 Table2 PUBLICATION で行を指定 PUBLICATION で列を指定 スキーマ一括で PUBLICATION指定も可
  • 24. © 2023 NTT DATA Group Corporation 25 ③性能改善 ⚫ NOT IN句の改善 ✓ 内部でハッシュテーブルを使うように変更された(実行計画は変化なし) ⚫ ソート性能の改善 ✓ 外部ソート(Sort Method: external merge)のアルゴリズム変更 ⚫ ウィンドウ関数の改善 ✓ ROW_NUMBER、RANK、COUNTで一部の実行計画を改善 ⚫ ¥copy fromの改善 ✓ 1行単位のCopyDataメッセージをまとめることで改善 v15
  • 25. © 2023 NTT DATA Group Corporation 26 ④WALやバックアップ関連 ⚫ WAL関連の改善 ✓ モジュールによるアーカイブが可能に。 ✓ archive_libraryでモジュール名を指定。 ✓ archive_commandよりも柔軟性の高いアーカイブが可能になった。 ✓ 15時点で優先度はarchive_library > archive_command ✓ WAL圧縮でzstd/lz4が指定可能に。 ✓ configureで、--with-zstd/--with-lz4が必要。 ✓ wal_compressionは、pglz/zstd/lz4/on(=pglz)/offを指定可能。 ⚫ pg_basebackupの改善 ✓ --compressオプションで圧縮が可能、形式(gzip/zstd/lz4)とレベルを指定。 ✓ --targetオプションでバックアップの取得先をclientやserverで選べる。ちなみに blackholeも指定でき、この場合バックアップは取られない。 v15
  • 26. © 2023 NTT DATA Group Corporation 27 ⑤モニタリング関連 ⚫ pg_stat_subscription_statsの追加 ✓ ロジカルレプリケーションの同期エラーを表示 ✓ サブスクリプションごとに1行、初期同期と更新適用の失敗がカウントされる ⚫ pg_ident_file_mappingsの追加 ✓ pg_ident.confの内容を表示 ⚫ JSON形式でログ出力が可能に ✓ log_destinataion=jsonlogが指定可能になった ✓ 従来のstderr/csvlog/syslogは変わらず ⚫ log_checkpointのデフォルト値変更 ✓ 14以前はデフォルトoff、15からデフォルトがonになった v15
  • 27. © 2023 NTT DATA Group Corporation 28 ⑥ロールの追加等 ⚫ 以下のロールが追加された。 ロール名 概要 pg_checkpoint CHECKPOINTのコマンドが実行可能 v15
  • 28. © 2023 NTT DATA Group Corporation 29 04. PostgreSQL v16の注目機能 2
  • 29. © 2023 NTT DATA Group Corporation 30 紹介する新機能(PostgreSQL v16) ①新しいSQL(関数など) ②ロジカルレプリケーションの拡張 ③性能改善 ④WALやバックアップ関連の改善 ⑤モニタリング関連 ⑥ロールの追加等 v16
  • 30. © 2023 NTT DATA Group Corporation 31 ①新しいSQL(関数等) - JSON関連 - ⚫ JSON関連の機能追加 関数 変換元 変換先 JSON_OBJECT テキスト配列 JSONオブジェクト JSON_OBJECTAGG 複数行のデータ(SELECT結果等) JSONオブジェクト JSON_ARRAY スカラ値やJSONデータ JSON配列 JSON_ARRAYAGG 複数行のデータ JSON配列 述語 判定内容 (true/false) IS JSON JSONとして解釈できるか IS JSON ARRAY JSON配列として解釈できるか IS JSON OBJECT JSONオブジェクトとして解釈できるか IS JSON SCALAR JSONのスカラ値として解釈できるか v16
  • 31. © 2023 NTT DATA Group Corporation 32 ①新しいSQL/構文 - その他 - ⚫ ANY_VALUE ✓ GROUP BYに含まれない列を集計関数を使わずに参照するとエラー。 ✓ 解消方法:GROUP BYに列を含める、またはMIN/MAX/ANY_VALUE ⚫ 数値リテラル ✓ 2/8/16進数を表現することが可能に。 ✓ (2進数)0b1001=9 (8進数)0o25=21 (16進数)0x32=50 ⚫ ICUロケールの拡張 ✓ 15以前はICUライブラリを照合順序で有効にするには、configure時に --with-icuが必要。 ✓ 16ではデフォルトで有効となり、除外する際に--without-icuが必要。 ✓ これまでのconfigureが通らないケースも発生するので注意。 v16
  • 32. © 2023 NTT DATA Group Corporation 33 ①新しいSQL/構文 - libpqロードバランシング - ⚫ 複数ホストからランダムな接続が可能に ✓ 接続パラメータのload_balance_hosts=randomと、複数ホストのリストを指定。 ✓ デフォルトだとload_balance_hosts=disableで、ラウンドロビンになる。 ✓ psqlなどlibpqを使うアプリケーションで利用可能 v16 client psql “host=aaa,bbb,ccc load_balance_hosts=random” host=aaa host=bbb host=ccc 接続先をランダムに選択、 エラー時は別の接続を試す
  • 33. © 2023 NTT DATA Group Corporation 34 ②ロジカルレプリケーションの拡張 - スタンバイからのレプリケーション - ⚫ ストリーミングレプリケーションのスタンバイを、パブリッシャーとして構成可能 プライマリ スタンバイ パブリッシャ パブリッシャ サブスクライバ ロジカル レプリケーション ストリーミング レプリケーション PUBLICATION SUBSCRIPTION PUBLICATION • PUBLICATIONはプライマリで作成 • pg_log_standby_snapshotでスタンバイへ のレプリケーションのスロットを即時反映 v16
  • 34. © 2023 NTT DATA Group Corporation 35 ②ロジカルレプリケーションの拡張 - steaming = parallel - ⚫ 15以前でstreamingオプションはon/offだったが、parallelが追加 ✓ CREATE SUBSCRIPTION sub_1 CONNECTION ‘port=5432 dbname=pub_db’ PUBLICATION pub WITH (streaming = parallel); v16 WALsender Parallel Apply Worker Apply Worker デコード結果を保持 メモリの制限を超えると デコードされた変更を ストリーミングで送信 (これはおそらくv14同等) COMMIT時に全変更を 一度に送信 COMMITを指示 並列ワーカを 起動 変更を適用 メッセージ送信 max_parallel_apply_workers_per_subscriptionでワーカ数を指定 パブリッシャ サブスクライバ
  • 35. © 2023 NTT DATA Group Corporation 36 テーブルA テーブルA ②ロジカルレプリケーションの拡張 - 双方向レプリケーション - ⚫ 15までは双方向レプリケーションをすると循環してしまっていた。 ⚫ 16から with (origin=none) が追加、双方向で更新が可能に。 ✓ 同一キーでの挿入など、衝突が起きるケースがある。 ✓ 衝突時は手動でスキップするなどの対応が必要。 v16 PUBLICATION SUBSCRIPTION PUBLICATION SUBSCRIPTION origin=none origin=none パブリッシャにoriginを持たない変更のみの送信を要求
  • 36. © 2023 NTT DATA Group Corporation 37 ②ロジカルレプリケーションの拡張 - その他 - ⚫ 初期コピーでバイナリ形式が利用可に ✓ パブ/サブどちらも16以上 & サブスクリプションで with (binary = on) ✓ 初期データ移行もバイナリ形式で転送可 (15以前はテキスト形式のみ) ✓ 一部データ型が含まれる場合、所要時間が短縮されることがある。 ⚫ Primary Key以外のインデックスが利用可に ✓ replica identity fullを指定した際、15以前ではフルスキャン。 ✓ 16ではPrimary Key以外のインデックスを利用して、サブスクライバ側のデータ同期性 能が向上。 v16
  • 37. © 2023 NTT DATA Group Corporation 38 ③性能改善 ⚫ パラレルクエリの拡張 ✓ right outer join/full outer joinでパラレルクエリをサポート。 ✓ 実行計画にParallel Hash Full Joinが登場するように 。 ✓ string_arg、array_argで集約処理の一部をパラレルに実行、実行計画上はPartial Aggregateが表示される。 ⚫ インクリメンタルソートの拡張 ✓ インクリメンタルソート自体は13で登場、インデックスを利用して一部のソートを高速化。 ディスクソートも避けられる。15まではSELECT DISTINCTは対象外。 ✓ 16からSELECT DISTINCTでも、Incremental Sortが使われるように。 v16
  • 38. © 2023 NTT DATA Group Corporation 39 ④WALやバックアップ関連の改善 ⚫ pg_dumpでlz4とzstdに対応 ✓ -zまたは--compressで、gzip/lz4/zstdと圧縮レベルを指定可能(noneで非圧縮) ✓ 15以前はgzipのみ ⚫ archive_commandとarchive_libraryの同時指定不可 ✓ 15で追加されたarchive_libraryパラメータ、15時点ではarchive_commandと同時 に指定可能(archive_libraryが優先される) ✓ 16では同時に追加できない、設定ファイルの書き方に注意 v16
  • 39. © 2023 NTT DATA Group Corporation 40 ⑤モニタリング関連 ⚫ pg_stat_ioビューの追加 ✓ PostgreSQLのIOに関連する統計情報を表示 ✓ OSレベルでは調べるのが難しい、共有バッファ内のreadなども見れるように ✓ 今後、各種ツールでも対応が進むと思われる v16
  • 40. © 2023 NTT DATA Group Corporation 41 ⑥ロールの追加等 ⚫ 2つのロールが追加された。 ロール名 概要 pg_create_subscription スーパーユーザ以外でも、CREATE SUBSCRIPTIONが可能 pg_use_reserved_connections reserved_connectionsで予約した接続数を使って接続が可能。 なお、実際のコネクションは以下でカウントされるため、利用時に注 意が必要。 max_connections = superuser_reserved_connection + reserved_connection + その他一般ユーザ pg_maintain (VACUUMやANALYZE等ができる権限だったがリバートされた) v16
  • 41. © 2023 NTT DATA Group Corporation 42 05. まとめ 4
  • 42. © 2023 NTT DATA Group Corporation 43 (再掲)サマリ:各バージョンの新機能 ①SQL ②ロジカル レプリケーション ③性能改善 ④バックアップ ⑤モニタリング ⑥ロール • publicスキーマの権限変更 • MERGE • REGEXP系 • 行/列フィルタ • lsn指定の同期スキップ • エラー時の無効化 • NOT INや外部ソート • ¥copyの改善 • archive_module • WAL/ pg_basebackup圧縮 • pg_stat_subscription_stats • JSON形式のログ • pg_checkpoint • SEARCH/CYCLE • postgres_fdw • ストリーム送信 • バイナリ転送 • Memoize • Bottom-up Index Deletion • VACUUM改善 • pg_stat_wal • pg_stat_progress_copy • pg_read/write_all_data • JSON関数、IS JSON • ANY_VALUE • libpq接続ロードバランシング • スタンバイからレプリケーション • パラレル適用 • 双方向 • パラレルクエリ、インクリメンタ ルソートの拡張 • pg_dump圧縮(lz4/zstd) • pg_stat_io • pg_create_subscription • pg_use_reserved_connections 開発者向け、使いたいSQLがあればどんどんバージョンアップを ロジカルレプリケーションを使い倒したいなら、最新バージョンを使おう 地道な性能改善の取り込みを意識しよう 実行計画も新しくなるので、バージョンアップ後は知識のアップデートも必要 どちらかと言うとDB管理者向け、クラウド利用の場合はメリット少なめ オンプレ/自前で大量DB管理するケースでバージョンアップのメリット大きい v15 (2022年) v16 (2023年) v14 (2021年)
  • 43. © 2023 NTT DATA Group Corporation 44 さて、PostgreSQL v17はどうなる? ※あくまで予想です v14 v15 v16 v17 • publicスキーマの権限 • MERGE • REGEXP系 • 行/列フィルタ • lsn指定の同期スキップ • エラー時の無効化 • NOT INや外部ソート • ¥copyの改善 • archive_module • WAL/ pg_basebackup圧縮 • pg_stat_subscription_stats • JSON形式のログ • pg_checkpoint • SEARCH/CYCLE • postgres_fdw • ストリーム送信 • バイナリ転送 • Memoize • Bottom-up Index Deletion • VACUUM改善 • pg_stat_wal • pg_stat_progress_copy • pg_read/write_all_data • JSON関数、IS JSON • ANY_VALUE • libpq接続ロードバランシング • スタンバイから • パラレル適用 • 双方向 • パラレルクエリ、 インクリメンタルソートの 拡張 • pg_dump圧縮(lz4/zstd) • pg_stat_io • pg_create_subscription • pg_use_reserved_connections ①SQL ③性能改善 ④バックアップ ⑤モニタリング ⑥ロール ②ロジカル レプリケーション • SQL/JSON関連 • 透過的カラム暗号化 • Table AMのAPI拡張 • DDLやSeqの対応 • Time-delayed • Async IO • ロックの改善 • 64bit XID(freeze削減) • Incremental Backup • WALサイズの削減 • 一部コマンドでsuperuser権限が 不要に
  • 44. © 2023 NTT DATA Group Corporation 45 (おまけ)クラウドにおける対応状況 ⚫ 2023/10時点の各社サービスのPostgreSQLバージョン対応状況 クラウド サービス名 PostgreSQL Ver. 備考 AWS RDS for PostgreSQL 11 - 15 16はプレビュー Aurora PostgreSQL 11 - 15 LTS 12.9/13.9/14.6 Azure Azure Database for PostgreSQL 11 - 15 Cosmos DB for PostgreSQL 11 - 16 Google Cloud Cloud SQL for PostgreSQL 9.6 - 15 Enterprise Plusは14,15 Alloy DB for PostgreSQL 14互換 PostgreSQL interface for Spanner - 完全な互換性はない OCI OCI Database for PostgreSQL 14.9 2023/12?