Submit Search
PostgreSQL 14 モニタリング新機能紹介(PostgreSQL カンファレンス #24、2021/06/08)
0 likes
2,610 views
N
NTT DATA Technology & Innovation
PostgreSQL 14 モニタリング新機能紹介 (PostgreSQL カンファレンス #24、2021/06/08) 株式会社NTTデータ 鳥越 淳
Technology
Read more
1 of 21
1
2
3
4
5
6
7
8
9
Most read
10
11
12
Most read
13
Most read
14
15
16
17
18
19
20
21
More Related Content
PDF
PostgreSQLの運用・監視にまつわるエトセトラ
NTT DATA OSS Professional Services
PPTX
PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...
NTT DATA Technology & Innovation
PPTX
祝!PostgreSQLレプリケーション10周年!徹底紹介!!
NTT DATA Technology & Innovation
PDF
PostgreSQL13でのレプリケーション関連の改善について(第14回PostgreSQLアンカンファレンス@オンライン)
NTT DATA Technology & Innovation
PDF
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
NTT DATA Technology & Innovation
PDF
まずやっとくPostgreSQLチューニング
Kosuke Kida
PDF
MesonでPostgreSQLをビルドしてみよう!(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
PPTX
PostgreSQLの統計情報について(第26回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
PostgreSQLの運用・監視にまつわるエトセトラ
NTT DATA OSS Professional Services
PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...
NTT DATA Technology & Innovation
祝!PostgreSQLレプリケーション10周年!徹底紹介!!
NTT DATA Technology & Innovation
PostgreSQL13でのレプリケーション関連の改善について(第14回PostgreSQLアンカンファレンス@オンライン)
NTT DATA Technology & Innovation
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
NTT DATA Technology & Innovation
まずやっとくPostgreSQLチューニング
Kosuke Kida
MesonでPostgreSQLをビルドしてみよう!(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
PostgreSQLの統計情報について(第26回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
What's hot
(20)
PDF
PostgreSQLの関数属性を知ろう
kasaharatt
PDF
PostgreSQL初心者がパッチを提案してからコミットされるまで(第20回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
PPTX
AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
PDF
PostgreSQL13でのpg_basebackupの改善について(第13回PostgreSQLアンカンファレンス@オンライン)
NTT DATA Technology & Innovation
PPTX
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
PPTX
PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)
NTT DATA Technology & Innovation
PPTX
世の中のPostgreSQLエンジニアのpsql設定(第34回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
PDF
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
Hironobu Suzuki
PPTX
オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...
NTT DATA Technology & Innovation
PPTX
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
PDF
PostgreSQL - C言語によるユーザ定義関数の作り方
Satoshi Nagayasu
PDF
PostgreSQL17対応版 EXPLAINオプションについて (第49回PostgreSQLアンカンファレンス@東京 発表資料)
NTT DATA Technology & Innovation
PDF
pg_hint_planを知る(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
PPTX
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
NTT DATA Technology & Innovation
PDF
NTT DATA と PostgreSQL が挑んだ総力戦
NTT DATA OSS Professional Services
PDF
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
NTT DATA Technology & Innovation
PDF
アーキテクチャから理解するPostgreSQLのレプリケーション
Masahiko Sawada
PDF
オンライン物理バックアップの排他モードと非排他モードについて(第15回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
PPTX
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
PPTX
PostgreSQLモニタリング機能の現状とこれから(Open Developers Conference 2020 Online 発表資料)
NTT DATA Technology & Innovation
PostgreSQLの関数属性を知ろう
kasaharatt
PostgreSQL初心者がパッチを提案してからコミットされるまで(第20回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
PostgreSQL13でのpg_basebackupの改善について(第13回PostgreSQLアンカンファレンス@オンライン)
NTT DATA Technology & Innovation
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)
NTT DATA Technology & Innovation
世の中のPostgreSQLエンジニアのpsql設定(第34回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
Hironobu Suzuki
オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...
NTT DATA Technology & Innovation
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
PostgreSQL - C言語によるユーザ定義関数の作り方
Satoshi Nagayasu
PostgreSQL17対応版 EXPLAINオプションについて (第49回PostgreSQLアンカンファレンス@東京 発表資料)
NTT DATA Technology & Innovation
pg_hint_planを知る(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
NTT DATA Technology & Innovation
NTT DATA と PostgreSQL が挑んだ総力戦
NTT DATA OSS Professional Services
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
NTT DATA Technology & Innovation
アーキテクチャから理解するPostgreSQLのレプリケーション
Masahiko Sawada
オンライン物理バックアップの排他モードと非排他モードについて(第15回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
PostgreSQLモニタリング機能の現状とこれから(Open Developers Conference 2020 Online 発表資料)
NTT DATA Technology & Innovation
Ad
Similar to PostgreSQL 14 モニタリング新機能紹介(PostgreSQL カンファレンス #24、2021/06/08)
(20)
PDF
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
NTT DATA Technology & Innovation
PDF
バージョン17からのpg_stat_bgwriter (第48回 PostgreSQLアンカンファレンス 発表資料)
NTT DATA Technology & Innovation
PDF
PostgreSQL9.3新機能紹介
NTT DATA OSS Professional Services
PPTX
VSCodeで作るPostgreSQL開発環境(第25回 PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
PDF
pg_dbms_statsの紹介
NTT DATA OSS Professional Services
PDF
世界征服を目指す Jubatus だからこそ期待する 5 つのポイント
Toru Shimogaki
PDF
DAIS2024参加報告 ~Spark中心にしらべてみた~ (JEDAI DAIS Recap 講演資料)
NTT DATA Technology & Innovation
PPTX
限界性能試験を自動化するOperatorを作ってみた(Kubernetes Novice Tokyo #14 発表資料)
NTT DATA Technology & Innovation
PDF
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
NTT DATA Technology & Innovation
PDF
pg_standbyの今後について(第19回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
PDF
Oracle Database Appliance 2.9 アップデート及びパッチ管理について
オラクルエンジニア通信
PDF
世界征服を目指すJubatusだからこそ期待する5つのポイント
NTT DATA OSS Professional Services
PDF
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
NTT DATA Technology & Innovation
PDF
PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...
NTT DATA Technology & Innovation
PDF
実践!OpenTelemetry と OSS を使った Observability 基盤の構築(CloudNative Days Tokyo 2022 発...
NTT DATA Technology & Innovation
PDF
C27 基幹領域への適用におけるpostgre sqlの抱える課題 by 原嘉彦
Insight Technology, Inc.
PDF
今秋リリース予定のPostgreSQL11を徹底解説
Masahiko Sawada
PDF
PostgreSQL 13でのpg_stat_statementsの改善について(第12回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
PPTX
CODT2020 OpenStack Version Up and VMHA Masakari in Enterprise Cloud
Toshikazu Ichikawa
PDF
OpenTelemetryMeetup_2024-11_DENSO_FIoT.pdf
Tetsuya Nakao
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
NTT DATA Technology & Innovation
バージョン17からのpg_stat_bgwriter (第48回 PostgreSQLアンカンファレンス 発表資料)
NTT DATA Technology & Innovation
PostgreSQL9.3新機能紹介
NTT DATA OSS Professional Services
VSCodeで作るPostgreSQL開発環境(第25回 PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
pg_dbms_statsの紹介
NTT DATA OSS Professional Services
世界征服を目指す Jubatus だからこそ期待する 5 つのポイント
Toru Shimogaki
DAIS2024参加報告 ~Spark中心にしらべてみた~ (JEDAI DAIS Recap 講演資料)
NTT DATA Technology & Innovation
限界性能試験を自動化するOperatorを作ってみた(Kubernetes Novice Tokyo #14 発表資料)
NTT DATA Technology & Innovation
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
NTT DATA Technology & Innovation
pg_standbyの今後について(第19回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
Oracle Database Appliance 2.9 アップデート及びパッチ管理について
オラクルエンジニア通信
世界征服を目指すJubatusだからこそ期待する5つのポイント
NTT DATA OSS Professional Services
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
NTT DATA Technology & Innovation
PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...
NTT DATA Technology & Innovation
実践!OpenTelemetry と OSS を使った Observability 基盤の構築(CloudNative Days Tokyo 2022 発...
NTT DATA Technology & Innovation
C27 基幹領域への適用におけるpostgre sqlの抱える課題 by 原嘉彦
Insight Technology, Inc.
今秋リリース予定のPostgreSQL11を徹底解説
Masahiko Sawada
PostgreSQL 13でのpg_stat_statementsの改善について(第12回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
CODT2020 OpenStack Version Up and VMHA Masakari in Enterprise Cloud
Toshikazu Ichikawa
OpenTelemetryMeetup_2024-11_DENSO_FIoT.pdf
Tetsuya Nakao
Ad
More from NTT DATA Technology & Innovation
(20)
PDF
開発中の新機能 Spark Declarative Pipeline に飛びついてみたが難しかった(JEDAI DAIS Recap#2 講演資料)
NTT DATA Technology & Innovation
PDF
PostgreSQL18新機能紹介(db tech showcase 2025 発表資料)
NTT DATA Technology & Innovation
PDF
PGConf.dev 2025 参加レポート (JPUG総会併設セミナー2025 発表資料)
NTT DATA Technology & Innovation
PDF
Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...
NTT DATA Technology & Innovation
PDF
つくって壊して直して学ぶ Database on Kubernetes (CloudNative Days Summer 2025 発表資料)
NTT DATA Technology & Innovation
PDF
2025年現在のNewSQL (最強DB講義 #36 発表資料)
NTT DATA Technology & Innovation
PDF
Java in Japan: A Journey of Community, Culture, and Global Integration (JavaO...
NTT DATA Technology & Innovation
PDF
Unveiling the Hidden Layers of Java Class Files: Beyond Bytecode (Devnexus 2025)
NTT DATA Technology & Innovation
PDF
論理レプリケーションのアーキテクチャ (第52回 PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
PDF
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
NTT DATA Technology & Innovation
PDF
Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...
NTT DATA Technology & Innovation
PDF
PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...
NTT DATA Technology & Innovation
PDF
pgbenchのスレッドとクライアント (第51回 PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
PDF
PostgreSQLのgitレポジトリから見える2024年の開発状況 (第51回 PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
PDF
ストリーム処理はデータを失うから怖い?それ、何とかできますよ! 〜Apahe Kafkaを用いたストリーム処理における送達保証〜 (Open Source...
NTT DATA Technology & Innovation
PDF
生成AI時代のPostgreSQLハイブリッド検索 (第50回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
PDF
PostgreSQLのHTAP適応について考える (PostgreSQL Conference Japan 2024 講演資料)
NTT DATA Technology & Innovation
PDF
静かに変わってきたクラスファイルを詳細に調べて楽しむ(JJUG CCC 2024 Fall講演資料)
NTT DATA Technology & Innovation
PDF
Gartnerも注目するグリーンソフトウェアの実現に向けて (Green Software Foundation Global Summit 2024 T...
NTT DATA Technology & Innovation
PDF
パーティションのATTACH時の注意ポイント (第49回PostgreSQLアンカンファレンス@東京 発表資料)
NTT DATA Technology & Innovation
開発中の新機能 Spark Declarative Pipeline に飛びついてみたが難しかった(JEDAI DAIS Recap#2 講演資料)
NTT DATA Technology & Innovation
PostgreSQL18新機能紹介(db tech showcase 2025 発表資料)
NTT DATA Technology & Innovation
PGConf.dev 2025 参加レポート (JPUG総会併設セミナー2025 発表資料)
NTT DATA Technology & Innovation
Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...
NTT DATA Technology & Innovation
つくって壊して直して学ぶ Database on Kubernetes (CloudNative Days Summer 2025 発表資料)
NTT DATA Technology & Innovation
2025年現在のNewSQL (最強DB講義 #36 発表資料)
NTT DATA Technology & Innovation
Java in Japan: A Journey of Community, Culture, and Global Integration (JavaO...
NTT DATA Technology & Innovation
Unveiling the Hidden Layers of Java Class Files: Beyond Bytecode (Devnexus 2025)
NTT DATA Technology & Innovation
論理レプリケーションのアーキテクチャ (第52回 PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
NTT DATA Technology & Innovation
Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...
NTT DATA Technology & Innovation
PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...
NTT DATA Technology & Innovation
pgbenchのスレッドとクライアント (第51回 PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
PostgreSQLのgitレポジトリから見える2024年の開発状況 (第51回 PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
ストリーム処理はデータを失うから怖い?それ、何とかできますよ! 〜Apahe Kafkaを用いたストリーム処理における送達保証〜 (Open Source...
NTT DATA Technology & Innovation
生成AI時代のPostgreSQLハイブリッド検索 (第50回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
PostgreSQLのHTAP適応について考える (PostgreSQL Conference Japan 2024 講演資料)
NTT DATA Technology & Innovation
静かに変わってきたクラスファイルを詳細に調べて楽しむ(JJUG CCC 2024 Fall講演資料)
NTT DATA Technology & Innovation
Gartnerも注目するグリーンソフトウェアの実現に向けて (Green Software Foundation Global Summit 2024 T...
NTT DATA Technology & Innovation
パーティションのATTACH時の注意ポイント (第49回PostgreSQLアンカンファレンス@東京 発表資料)
NTT DATA Technology & Innovation
PostgreSQL 14 モニタリング新機能紹介(PostgreSQL カンファレンス #24、2021/06/08)
1.
© 2021 NTT
DATA Corporation PostgreSQL 14 モニタリング新機能紹介 2021年6月8日 株式会社NTTデータ 鳥越 淳
2.
© 2021 NTT
DATA Corporation 2 自己紹介 • 鳥越 淳(とりこし あつし) 2008年頃からオープンソースソフトウェアを扱う業務に従事 PostgreSQLは9.6頃から 『PostgreSQL徹底入門 第4版』(翔泳社) 8~13章執筆
3.
© 2021 NTT
DATA Corporation 3 本講演について PostgreSQL 14導入予定のモニタリング新機能のうち、主にNTTデータが開発したものを2つご紹介します • メモリ利用状況に関する情報 • ロック取得待ち時間の確認 本講演で紹介する機能や仕様は、Beta 1リリース時点のものです。 将来的に変更される可能性があることにご注意ください。 その他、記載されている会社名、商品名、又はサービス名は、 各社の登録商標又は商標です。
4.
© 2021 NTT
DATA Corporation 4 バックエンドプロセスのメモリ利用状況に関する情報 ~MemoryContextの確認~
5.
© 2021 NTT
DATA Corporation 5 PostgreSQLのメモリ構造とMemoryContext MemoryContextは、PostgreSQLのバックエンドプロセスが動的にメモリを確保するために利用 ワークメモリ メンテナンス ワークメモリ バックエンド プロセス … ワークメモリ メンテナンス ワークメモリ バックエンド プロセス … 共有メモリバッファ WALバッファ 共有メモリ こっちの話 こっちじゃない … こっちの話
6.
© 2021 NTT
DATA Corporation 6 MemoryContextとは PostgreSQLでは、MemoryContextと呼ばれる単位を使って、Tree構造でメモリを管理 TopMemoryContext CacheMemoryContext TopPortalContext TopTransactionContext … … … 親は1つ 子は複数可 ※TopMemoryContextは親なし
7.
© 2021 NTT
DATA Corporation 7 MemoryContextとは TopMemoryContext CacheMemoryContext TopPortalContext TopTransactionContext … … … PostgreSQLでは、MemoryContextと呼ばれる単位を使って、Tree構造でメモリを管理 • 用途に応じてMemoryContextを作成、メモリを割り当てる(palloc) CachedPlanSource Prepared statement※作成時の例 … 作成 メモリ割り当て 作成 ※Prepared statementとは.. クエリ実行に必要な処理の一部 (パース・リライトなど)を予め実行し ておきキャッシュする仕組み
8.
© 2021 NTT
DATA Corporation 8 MemoryContextとは PostgreSQLでは、MemoryContextと呼ばれる単位を使って、Tree構造でメモリを管理 • 親のMemoryContextが削除されると、その子孫のMemoryContextも全て削除される TopMemoryContext CacheMemoryContext TopPortalContext TopTransactionContext … … … CachedPlanSource … Prepared statement削除時の例 削除 削除
9.
© 2021 NTT
DATA Corporation 9 MemoryContextの情報を取得する必要性 特定のMemoryContextが肥大化したり、大量のMemoryContextが作成されることで、メモリが逼迫するこ とがある 例) • 大量のPrepared statement • PostgreSQL内部のキャッシュ(relcacheなど)増加 • メモリリーク OSからはPostgreSQLプロセスのメモリが肥大化していることまでしかわからないが、MemoryContextを確認 すれば、PostgreSQL内部でのメモリの用途が把握可能
10.
© 2021 NTT
DATA Corporation 10 V13までのMemoryContextの確認 デバッグ用関数MemoryContextStats()で指定したContext以下の全Contextの状況を把握可能 • 使い方 デバッガから呼び出す (gdb) call MemoryContextStats(TopMemoryContext) , • 出力例 階層の深さはインデントで表現 総計も出力 出力先はstderr ⇒ “logging_collector”がonの 場合、ログファイルに出力
11.
© 2021 NTT
DATA Corporation 11 V13までのMemoryContextの確認のつらみ • 商用環境で利用しづらい • デバッグシンボルがインストールされていること(ソースからビルド configure --enable-debug) • デバッガがインストールされていること • 出力が集計しづらい、やや見にくい • 出力例(再掲) 起動直後idle状態でも80行くらい省略している
12.
© 2021 NTT
DATA Corporation 12 V14でできるようになること pg_backend_memory_contextsビューから、ローカルプロセスのMemoryContextが確認可能 • 内容はMemoryContextStatsDetail()と同等 Contextを特定する情報があれば、identに出力される 例) Prepared Statementを実行した場合 階層の深さはlevelで表現
13.
© 2021 NTT
DATA Corporation 13 V14でできるようになること pg_log_backend_memory_contexts()で任意のバックエンドプロセスのMemoryContextが確認 可能 • 出力先はログファイル • 内容はMemoryContextStatsDetail()と同等 • 1つの親MemoryContextが出力する子MemoryContext数は、100に制限。101以降の MemoryContextの情報はサマリのみ出力 • 出力例 • 出力例 =# SELECT pg_log_backend_memory_contexts(取得したいバックエンドのPID); _
14.
© 2021 NTT
DATA Corporation 14 V14のMemoryContext出力の注意点 • pg_backend_memory_contextsビューの参照、pg_log_backend_memory_contexts()の実 行は、いずれもスーパーユーザ権限が必要 • pg_backend_memory_contextsビューの参照権限は、GRANT文で一般ユーザへ付与可能 • pg_log_backend_memory_contexts()の実行権限は、一般ユーザには付与できない • 本関数を大量に実行してDoS攻撃されるのを予防するため
15.
© 2021 NTT
DATA Corporation 15 (参考)V13以前でSQLによるMemeoryContext確認 エクステンションpg_cheat_funcs[1]を利用すれば、同様のことがV9.6~でも可能 • pg_stat_get_memory_context() • というかほぼこの機能をPostgreSQL本体に移植 • “ident”相当の情報はない • pg_cheat_funcsでは、ほかにもPostgreSQLで取り扱い可能な全UTF-8文字を返す関数 (pg_all_utf8())、トランザクションIDを変更する関数など、いろいろな機能が提供されている [1] https://github.com/MasaoFujii/pg_cheat_funcs
16.
© 2021 NTT
DATA Corporation 16 ロック取得待ち時間の確認 ~pg_locksビューへのwaitstart列追加~
17.
© 2021 NTT
DATA Corporation 17 V13までのpg_locks • pg_locksビューは、PostgreSQLプロセスによって取得されているロックの情報を表示するビュー • PostgreSQL 13以前では、ロック待ちを開始した時刻や、ロック待ちしている時間を取得する方法は提供 されていなかった • pg_stat_activityとpidでJOINしてquery_startやstate_changeで時刻を取得できるが、これ らはクエリの開始時刻や状態が変化した時刻 列名 概要 locktype ロック対象オブジェクトの種類。relation, page, tupleなど relation, page, tuple ロックの対象となるリレーションのOID、ページ番号、タプル番号 pid ロックを保持、もしくは待っているサーバプロセスのプロセスID mode このプロセスで保持または要求するロックモードの名称 granted ロックが保持されている場合は真、ロックが待ち状態の場合は偽 pg_locksビューの列(一部)
18.
© 2021 NTT
DATA Corporation 18 V14のpg_locks • ロック待ちを開始した時刻を表示するwaitstart列を追加 • ロックを保持している場合はNULL • 現在時刻との差分を見れば、ロック待ち時間が取得可能 … =# SELECT relation, pid, mode, granted, waitstart FROM pg_locks; _ =# SELECT relation, pid, mode, granted, now() – waitstart AS duration FROM pg_locks; _
19.
© 2021 NTT
DATA Corporation 19 V14のpg_locksの注意点 • タイミングによってはロック取得待ち状態(grantedがfalse)なのに、waitstartがNULLになるケースがある 点に一応注意 • これは、オーバーヘッドを削減するために、ロックを取得せずにwaitstartを更新しているために発生 • この状況はごく短時間しか発生しない、かつwaitstartが必要になるのは長時間ロックが解放されな い場合なので、実質的な影響はないはず …
20.
© 2021 NTT
DATA Corporation 20 まとめ 今回ご紹介したv14の新機能 • MemoryContextの情報を確認する手段が提供された • バックエンドローカル: pg_backend_memory_contexts ビュー • バックエンドローカル以外: pg_log_backend_memory_contexts() • ロック待ちを開始した時刻をpg_locksビューのwaitstart列から確認できるようになった … こんなものもモニタリングしたいというご要望があれば教えてください!!
21.
© 2021 NTT
DATA Corporation