このトピックでは、 PolarDB for PostgreSQLのビューについて説明します。 ビューをクエリしてインスタンスの詳細を取得できます。 これは、パフォーマンスの問題のトラブルシューティングに役立ちます。
基本インスタンス情報
- pg_stat_データベースpg_stat_databaseビューには、クラスターの各インスタンスの各行に関する統計が表示されます。 次の表に、このビューのパラメーターを示します。
パラメーター データ型 説明 datid
oid データベースのオブジェクト識別子 (OID) 。 datname
name データベース名。 しびれ
integer データベースに接続されているバックエンドサーバーの数。 ビューでは、この列は現在のステータスを返す唯一の列です。 他の列は、最後にリセットされた値から始まる累積値を返す。 xact_commit
bigint データベースでコミットされたトランザクションの総数。 xact_rollback
bigint データベースでロールバックされたトランザクションの総数。 blks_read
bigint データベースで物理的に読み取られたディスクブロックの総数。 blks_ヒット
bigint バッファ内でヒットしたディスクブロックの数。 ディスクブロックを読み取る必要はありません。 キャッシュヒット数は、 PolarDB for PostgreSQLバッファ内のヒットのみを示します。 OSのファイルシステムバッファのヒットは無視される。 tup_returned
bigint データベース内のクエリによって返される行数。 tup_fetched
bigint データベース内のクエリによって取得された行数。 tup_inserted
bigint クエリによってデータベースに挿入された行数。 tup_updated
bigint データベース内のクエリによって更新された行数。 tup_削除済み
bigint データベース内のクエリによって削除された行数。 競合
bigint 読み取り専用ノードのリプレイの競合の回復によりキャンセルされたクエリの数。 temp_files
bigint データベース内のクエリによって作成された一時ファイルの数。 すべての一時ファイルは、ファイルが作成された理由や log_temp_files
の設定に関係なくカウントされます。temp_bytes
bigint データベース内のクエリによって一時ファイルに書き込まれたデータの合計量。 すべての一時ファイルは、ファイルが作成された理由や log_temp_files
の設定に関係なくカウントされます。デッドロック
bigint データベースで検出されたデッドロックの数。 blk_read_time
ダブル精度 バックエンドサーバーがデータベース内のデータファイルを読み取るために費やした時間。 (単位: ミリ秒) blk_write_time
ダブル精度 バックエンドサーバーがデータベースにデータファイルを書き込むために費やした時間。 (単位: ミリ秒) stats_reset
タイムゾーンのタイムスタンプ 統計がリセットされた最新の時刻。 - pg_stat_bgwriterpg_stat_bgwriterビューには1行のみが含まれます。 この行には、クラスターのグローバルデータが含まれます。
パラメーター データ型 説明 checkpoints_timed
bigint 実行されたチェックポイントの数。 checkpoints_req
bigint 実行された、要求されたチェックポイントの数。 checkpoint_write_time
ダブル精度 チェックポイント中にファイルをディスクに書き込むのに費やされた時間。 (単位: ミリ秒) checkpoint_sync_time
ダブル精度 チェックポイント中にファイルをディスクに同期させるのに費やされた時間。 (単位: ミリ秒) buffers_checkpoint
bigint チェックポイント中に書き込まれるバッファの数。 buffers_clean
bigint バックグラウンド・ライタ・プロセスによって占有されるバッファの数。 maxwritten_clean
bigint 大量のデータが一度に書き込まれるため、バックグラウンド書き込みプロセスがクリーニングスキャンを停止する回数。 buffers_backend
bigint バックエンドによって直接書き込まれるバッファの数。 buffers_backend_fsync
bigint バックエンドがバックグラウンドライタープロセスの代わりにfsync呼び出しを実行した回数。 ほとんどの場合、バックエンドが書き込み操作を実行する場合でも、バックグラウンド書き込みプロセスは書き込み操作を処理します。 buffers_alloc
bigint 割り当てられたバッファの数。 stats_reset
タイムゾーンのタイムスタンプ 統計が最後にリセットされた時刻。
活動ステータス
- polar_stat_アクティビティpolar_stat_activityビューには、各プロセスのステータスが表示されます。 これは、各プロセスの累積合計を提供します。
パラメーター データ型 説明 datid
oid データベースのOID。 datname
name データベース名。 pid
integer プロセスのID。 usesysid
oid ユーザーの ID。 usename
name ユーザー名。 application_name
text データベースに接続されているアプリケーションの名前。 client_addr
inet データベースに接続されているクライアントのIPアドレス。 client_hostname
text 接続されているクライアントのホスト名。 client_port
integer クライアントとデータベース間の通信に使用されるポート。 backend_start
timestamp プロセスが開始された時刻。 xact_start
timestamp プロセスの現在のトランザクションが開始された時刻。 query_start
timestamp SQL文が実行される開始時刻。 state_change
timestamp プロセスのステータスが最後に変更された時刻。 wait_event_タイプ
text バックエンドがセッションで待機しているイベントのタイプ。 バックエンドがイベントを待機していない場合、NULLが返されます。 有効な値: LWLock
: バックエンドは軽量ロックを待っています。 軽量ロックは、共有メモリ内の特別なデータ構造を保護します。wait_event
パラメーターには、軽量ロックの目的を識別する名前が含まれます。 一部のロックには特定の名前があります。 他のロックは、同様の目的を持つロックのグループです。ロック
: バックエンドはヘビー級ロックを待っています。 ヘビー級ロックは、ロックマネージャまたは単純なロックとしても知られています。 ヘビー級ロックは、テーブルなどのSQLオブジェクトを保護します。 SQLオブジェクトはユーザーに表示されます。 ヘビー級ロックは、テーブル拡張などの一部の内部操作の相互排除を保証するためにも使用されます。wait_event
パラメーターは、バックエンドが待機しているロックのタイプを示します。BufferPin
: サーバープロセスは、他のプロセスがそのバッファをチェックしていない間、データバッファへのアクセスを待機しています。 バッファから最後にデータを読み取るオープンカーソルを別のプロセスが保持している場合、バッファピンの待機を延長できます。アクティビティ
: サーバープロセスはアイドルです。 このパラメーターは、システムプロセスがメイン処理ループでアクティビティを待機するときに使用されます。wait_event
は、特定の待機ポイントを識別します。Extension
: サーバープロセスは、拡張モジュールのアクティビティを待機しています。 このカテゴリは、モジュールがカスタム待機ポイントを追跡するのに役立ちます。クライアント
: サーバープロセスは、ユーザーアプリケーションからのソケットでのアクティビティを待機しています。 また、サーバーは、内部プロセスから独立したイベントが発生することを期待します。wait_event
は、特定の待機ポイントを識別します。IPC
: サーバープロセスは、サーバー内の別のプロセスからのアクティビティを待機しています。wait_event
は、特定の待機ポイントを識別します。タイムアウト
: サーバープロセスはタイムアウトを待っています。wait_event
は、特定の待機ポイントを識別します。IO
: サーバープロセスはI/O要求が完了するのを待っています。wait_event
は、特定の待機ポイントを識別します。
wait_event
text 待機イベントの名前。 バックエンドがイベントを待機していない場合、NULLが返されます。 状態
text プロセスのステータス。 backend_xid
xid クライアントのトランザクション識別子 (XID) 。 backend_xmin
xid クライアントのxmin値。 クエリ
text 実行されたSQL文。 backend_type
text バックエンドプロセスのタイプ。 queryid
bigint SQL文の一意のID。 wait_object
text 待機オブジェクト。The wait object. このパラメーターは、バックエンドがイベントを待機しているときに返されます。 wait_type
text 待機オブジェクトのタイプ。 このパラメーターは、バックエンドがイベントを待機しているときに返されます。 wait_time_ms
double 費やされる待ち時間。 このパラメーターは、バックエンドがイベントを待機しているときに返されます。 cpu_user
bigint バックエンドサーバーのユーザーCPU使用率。 cpu_sys
bigint バックエンドサーバーのシステムCPU使用率。 rss
bigint バックエンドサーバーのメモリ使用量。 pfs_read_ps
bigint Polarファイルシステム (PFS) での読み取り操作の累積合計。 pfs_write_ps
bigint PFSに対する書き込み操作の累積合計。 pfs_read_throughput
bigint PFSの読み取りスループットの累積合計。 pfs_write_スループット
bigint PFSの書き込みスループットの累積合計。 pfs_read_latency_ms
double PFSでの読み取り操作のレイテンシ。 pfs_write_latency_ms
double PFSでの書き込み操作のレイテンシ。 local_read_ps
bigint ローカルファイルシステムでの読み取り操作の累積合計。 local_write_ps
bigint ローカルファイルシステムに対する書き込み操作の累積合計。 local_read_スループット
bigint ローカルファイルシステムの読み取りスループットの累積合計。 local_write_スループット
bigint ローカルファイルシステムの書き込みスループットの累積合計。 local_read_latency_ms
double ローカルファイルシステムでの読み取り操作のレイテンシ。 local_write_latency_ms
double ローカルファイルシステムでの書き込み操作のレイテンシ。 待機イベント待機イベントタイプ 待機イベント名 説明 LWLock
ShmemIndexLock プログラムは、共有メモリ内のスペースを見つけたり割り当てたりするのを待っています。 OidGenLock プログラムは、OIDの割り当てまたは割り当てを待っています。 XidGenLock プログラムはXIDの割り当てまたは割り当てを待っています。 ProcArrayLock プログラムは、トランザクションの終了時にスナップショットの取得またはXIDのクリアを待機しています。 SInvalReadLock プログラムは、無効な共有メッセージキューからメッセージを取得または削除するのを待っています。 SInvalWriteLock プログラムは、無効な共有メッセージキューにメッセージを追加するのを待っています。 WALBufMappingLock プログラムは、先行書き込みロギング (WAL) バッファ内のページを置換するために待機している。 WALWriteLock プログラムは、WALバッファがディスクに書き込まれるのを待っている。 ControlFileLock プログラムは、制御ファイルの読み取りまたは更新、またはWALファイルの作成を待機しています。 CheckpointLock プログラムはチェックポイント操作の実行を待っています。 CLogControlLock プログラムは、トランザクションステータスの読み取りまたは更新を待機しています。 SubtransControlLock プログラムは、サブトランザクション情報の読み取りまたは更新を待機している。 MultiXactGenLock プログラムは、共有multixactステータスの読み取りまたは更新を待機しています。 MultiXactOffsetControlLock プログラムは、multixactオフセットマッピングの読み取りまたは更新を待機しています。 MultiXactMemberControlLock プログラムは、multixactメンバーマッピングの読み取りまたは更新を待機しています。 RelCacheInitLock プログラムは、関係キャッシュ初期化ファイルの読み取りまたは書き込みを待機しています。 CheckpointerCommLock プログラムはfsync() 呼び出しの管理を待っています。 TwoPhaseStateLock プログラムは、準備されたトランザクションのステータスの読み取りまたは更新を待機しています。 TablespaceCreateLock プログラムはテーブルスペースを作成または削除するのを待っています。 BtreeVacuumLock プログラムは、Bツリーインデックスの真空関連情報の読み取りまたは更新を待機しています。 AddinShmemInitLock プログラムは、共有メモリ内のスペース割り当てを管理するために待機しています。 自動真空ロック 自動真空作業者またはランチャーは、自動真空作業者のステータスの更新または読み取りを待機しています。 AutovacuumScheduleLock プログラムは、真空用に選択されたテーブルがまだ真空引きが必要であることを確認するのを待っています。 SyncScanLock プログラムは、同期スキャンのテーブル上のスキャンの開始位置を取得するために待機しています。 RelationMappingLock プログラムは、ファイルノードマッピングへのカタログを格納するために使用される関係マッピングファイルを更新するのを待っている。 AsyncCtlLock プログラムは、共有通知ステータスの読み取りまたは更新を待機しています。 AsyncQueueLock プログラムは通知メッセージの読み取りまたは更新を待機しています。 SerializableXactHashLock プログラムは、シリアル化可能なトランザクションに関する情報の取得または格納を待機しています。 SerializableFinishedListLock プログラムは、完了したシリアル化可能トランザクションへのアクセスを待機します。 SerializablePredicateLockListLock プログラムは、シリアル化可能なトランザクションによって保持されるロックに対する操作の実行を待機しています。 OldSerXidLock プログラムは、競合するシリアル化可能トランザクションの読み取りまたは記録を待機しています。 SyncRepLock プログラムは、同期レプリカに関する情報の読み取りまたは更新を待機しています。 BackgroundWorkerLock プログラムは、バックエンドワーカーのステータスの読み取りまたは更新を待機しています。 DynamicSharedMemoryControlLock プログラムは、動的共有メモリのステータスの読み取りまたは更新を待機しています。 AutoFileLock プログラムはpostgresql.auto.confファイルの更新を待っています。 ReplicationSlotAllocationLock プログラムは、レプリケーションスロットの割り当てまたはドロップを待機しています。 ReplicationSlotControlLock プログラムは、レプリケーションスロットのステータスの読み取りまたは更新を待機しています。 CommitTsControlLock プログラムは、トランザクションコミットのタイムスタンプの読み取りまたは更新を待機しています。 CommitTsLock プログラムは、トランザクションタイムスタンプに設定された最後の値の読み取りまたは更新を待機しています。 ReplicationOriginLock プログラムは、レプリケーション元のセットアップ、ドロップ、または使用を待機しています。 MultiXactTruncationLock プログラムは、multixact情報の読み取りまたは切り捨てを待機しています。 OldSnapshotTimeMapLock プログラムは、古いスナップショットに関する制御情報の読み取りまたは更新を待機しています。 BackendRandomLock プログラムは乱数の生成を待っています。 LogicalRepWorkerLock プログラムは、論理レプリケーションワーカーに対するアクションが完了するのを待っています。 CLogTruncationLock プログラムは、WALファイルの切り捨てを待っているか、WALファイルの切り捨てが完了するのを待っています。 詰まり バックエンドはコミットログ (CLOG) バッファでI/O要求を待っています。 CLOGは、トランザクションのコミット状態を記録する。 commit_timestamp プログラムは、コミットタイムスタンプバッファ上のI/O要求を待っている。 サブトランス プログラムは、サブトランザクションバッファ上のI/O要求を待っている。 multixact_offset プログラムは、マルチアクション・オフセット・バッファ上のI/O要求を待っている。 multixact_member プログラムは、multixactメンバーバッファ上のI/O要求を待っています。 async プログラムは非同期バッファでI/O要求を待っています。 oldserxid プログラムは、oldserxidバッファでI/O要求を待っています。 wal_insert プログラムは、WALファイルをメモリバッファに挿入するのを待っている。 buffer_content プログラムは、メモリ内のデータページの読み取りまたは書き込みを待機している。 buffer_io プログラムは、データページ上のI/O要求を待っている。 replication_origin プログラムは、レプリケーションの進行状況の読み取りまたは更新を待機しています。 replication_slot_io プログラムは、複製スロット上のI/O要求を待っている。 proc プログラムは、高速経路ロック情報の読み出しまたは更新を待機している。 buffer_mapping プログラムは、データブロックをバッファプール内のバッファに関連付けるために待機している。 lock_manager プログラムは、ロックグループに参加または終了するのを待っているか、バックエンドに使用されるロックを追加またはチェックするのを待っています。 このイベントは、並列クエリが実行されたときに発生します。 predicate_lock_manager プログラムは、述語ロックに関する情報を追加またはチェックするのを待っています。 parallel_query_dsa プログラムは、並列実行のための動的共有メモリ割り当てロックを待っている。 tbm プログラムは、TIDBitmapの共有イテレータロックを待っています。 parallel_append 並列追加プランが実行されている間、プログラムは次のサブプランを選択するのを待っています。 parallel_hash_join プログラムは、並列ハッシュプランが実行されている間、メモリまたは更新カウンタのチャンクの割り当てまたは交換を待機しています。 ロック
関係 プログラムは、リレーションのロックを取得するのを待っています。 伸ばす プログラムは関係を拡張するのを待っています。 page プログラムは、リレーションのページでロックを取得するのを待っています。 タプル プログラムはタプルのロックを取得するのを待っています。 transactionid プログラムはトランザクションが完了するのを待っています。 virtualxid プログラムは仮想XIDロックの取得を待っています。 投機的トークン プログラムは、投機的挿入ロックを得るために待機している。 object プログラムは、非リレーショナルデータベースオブジェクトのロックを取得するために待機しています。 ユーザーロック プログラムはユーザーロックを取得するために待機しています。 アドバイザリ プログラムは、アドバイザリーユーザーロックを取得するために待機しています。 バッファピン
バッファピン プログラムはバッファを固定するのを待っている。 アクティビティ
ArchiverMain プログラムはアーカイブプロセスのメインループで待機しています。 AutoVacuumMain プログラムは、自動真空ランチャープロセスのメインループで待機しています。 BgWriterHibernate インスタンスが休止状態にある間、プログラムはバックグラウンドライタープロセスで待機しています。 BgWriterMain プログラムは、バックグラウンドワーカープロセスのバックグラウンドワーカーのメインループで待機しています。 CheckpointerMain プログラムは、チェックポインタプロセスのメインループで待機しています。 LogicalApplyMain プログラムは論理適用プロセスのメインループで待機しています。 LogicalLauncherMain プログラムは論理ランチャープロセスのメインループで待機しています。 PgStatMain プログラムは統計収集プロセスのメインループで待機しています。 RecoveryWalAll プログラムは、インスタンスの復元中に、ローカルファイル、アーカイブファイル、ストリームなどのソースからのWALデータを待機しています。 RecoveryWalStream プログラムは、インスタンスが復元されている間、ストリームからのWALデータを待っています。 SysLoggerMain プログラムはsyslogプロセスのメインループで待機しています。 WalReceiverMain プログラムは、WAL受信機プロセスのメインループで待機している。 WalSenderMain プログラムはWAL送信プロセスのメインループで待機しています。 WalWriterMain プログラムはWALライタープロセスのメインループで待機しています。 クライアント
ClientRead プログラムはクライアントからデータを読み取るのを待っています。 ClientWrite プログラムはクライアントにデータを書き込むのを待っています。 LibPQWalReceiverConnect プログラムは、リモートサーバに接続するためにWAL受信機プロセスで待機している。 LibPQWalReceiverReceive プログラムは、リモートサーバからデータを受信するために、WAL受信機プロセスにおいて待機している。 SSLOpenServer 接続が確立されている間、プログラムはSSLを待っています。 WalReceiverWaitStart プログラムは、起動プロセスがストリーミング複製用の初期データを送信するのを待っています。 WalSenderWaitForWAL プログラムは、WAL送信プロセスでWALデータがフラッシュされるのを待っている。 WalSenderWriteData プログラムは、WAL受信機からの応答がWAL送信機プロセスで処理されている間に生じる活動を待っている。 エクステンション
拡張機能 プログラムは拡張機能で待機しています。 IPC
BgWorkerShutdown プログラムはバックグラウンドワーカーがシャットダウンするのを待っています。 BgWorkerStartup プログラムはバックグラウンドワーカーが起動するのを待っています。 BtreePage プログラムは、Bツリーを並行してスキャンし続けるために必要なページ番号が利用可能になるのを待っている。 ClogGroupUpdate プログラムは、トランザクションが終了すると、グループリーダーがトランザクションのステータスを更新するのを待っています。 ExecuteGather Gatherノードが実行されている間、プログラムは子プロセスからのアクティビティを待っています。 ハッシュ /バッチ /割り当て プログラムは、選出された並列ハッシュ参加者がハッシュテーブルを割り当てるのを待っている。 ハッシュ /バッチ /抽出 プログラムは、並列ハッシュ参加者がハッシュテーブルを割り当てるために選出されるのを待っている。 ハッシュ /バッチ /読み込み プログラムは、他のParallel Hash参加者がハッシュテーブルの読み込みを完了するのを待っています。 ハッシュ /ビルド /割り当て プログラムは、選択された並列ハッシュ参加者が初期ハッシュテーブルを割り当てるのを待っている。 ハッシュ /ビルド /選択 プログラムは、初期ハッシュテーブルを割り当てるために選択される並列ハッシュ参加者を待っている。 ハッシュ /ビルド /HashingInner プログラムは、他の並列ハッシュ参加者が内部関係に対するハッシュ演算を完了するのを待っている。 ハッシュ /ビルド /HashingOuter プログラムは、他の並列ハッシュ参加者が外部関係に対するハッシュ演算を完了するのを待っている。 ハッシュ /GrowBatches /割り当て プログラムは、選出された並列ハッシュ参加者がハッシュテーブルのより多くのバッチを割り当てるのを待っている。 ハッシュ /GrowBatches /決定 プログラムは、並列ハッシュ参加者がハッシュテーブルバッチの増加を決定するために選出されるのを待っている。 ハッシュ /GrowBatches /選挙 プログラムは、並列ハッシュ参加者がハッシュテーブルのより多くのバッチを割り当てるために選出されるのを待っている。 ハッシュ /GrowBatches /仕上げ プログラムは、選出された並列ハッシュ参加者がハッシュテーブルバッチの増加を決定するのを待っている。 ハッシュ /GrowBatches /再分割 プログラムは、他のParallel Hash参加者が再分割を完了するのを待っています。 ハッシュ /GrowBuckets /割り当て プログラムは、選出されたParallel Hash参加者がさらにバケットの割り当てを完了するのを待っています。 ハッシュ /GrowBuckets /選挙 プログラムは、並列ハッシュ参加者がより多くのバケットを割り当てるために選出されるのを待っている。 ハッシュ /GrowBuckets /再挿入 プログラムは、他のParallel Hash参加者が新しいバケットにタプルを挿入するのを待っています。 LogicalSyncData プログラムは、論理レプリケーションのリモートサーバーが初期テーブルの同期に使用されるデータを送信するのを待機しています。 LogicalSyncStateChange プログラムは、論理レプリケーションのリモートサーバーのステータスが変更されるのを待っています。 MessageQueueInternal プログラムは、他のプロセスが共有メッセージキューに追加されるのを待っています。 MessageQueuePutMessage プログラムは、プロトコルメッセージを共有メッセージキューに書き込むのを待っている。 MessageQueueReceive プログラムは、共有メッセージキューからバイトを受け取るのを待っています。 MessageQueueSend プログラムは、バイトを共有メッセージキューに送信するのを待っています。 ParallelBitmapScan プログラムは、初期化されるべきビットマップの並列走査を待っている。 ParallelCreateIndexScan プログラムは、CREATE INDEX並列ワーカーがヒープスキャンを完了するのを待っています。 ParallelFinish プログラムは、並列ワーカーがコンピューティングを完了するのを待っています。 ProcArrayGroupUpdate プログラムは、トランザクションが完了した後、グループリーダーがXIDをクリアするのを待っています。 ReplicationOriginDrop プログラムは、複製起点を削除できるように複製起点が非アクティブになるのを待っている。 ReplicationSlotDrop プログラムは、複製スロットを削除できるように複製スロットが非アクティブになるのを待っている。 SafeSnapshot プログラムは、READ ONLY DEFERRABLEトランザクションで使用できるスナップショットを待っています。 SyncRep プログラムは、同期レプリケーション中にリモートサーバーからの確認を待っています。 タイムアウト
BaseBackupThrottle プログラムは、スロットリングアクティビティが進行中である間、ベースバックアップフェーズで待機しています。 PgSleep プログラムはpg_sleep関数を呼び出すプロセスで待機しています。 RecoveryApplyDelay WALの適用が遅れるため、データが復元されている間、プログラムはWALの適用を待機しています。 IO
BufFileRead プログラムは、バッファリングされたファイルからデータを読み取るのを待っています。 BufFileWrite プログラムは、バッファされたファイルにデータを書き込むのを待っている。 ControlFileRead プログラムは制御ファイルからデータを読み取るのを待っています。 ControlFileSync プログラムは、制御ファイルが安定したストレージに到達するのを待っています。 ControlFileSyncUpdate プログラムは、制御ファイルの更新が安定したストレージに到達するのを待っています。 ControlFileWrite プログラムは制御ファイルにデータを書き込むのを待っています。 ControlFileWriteUpdate プログラムは、制御ファイルを更新するためにデータを書き込むのを待っている。 CopyFileRead ファイルがコピーされている間、プログラムはデータを読み取るのを待っています。 CopyFileWrite ファイルがコピーされている間、プログラムはデータの書き込みを待っています。 DataFileExtend プログラムは、関連データファイルが拡張されるのを待っている。 DataFileFlush プログラムは、関係データファイルが安定したストレージに到達するのを待っています。 DataFileImmediateSync プログラムは、関係データファイルがすぐに同期されて安定したストレージに到達するのを待っています。 DataFileプリフェッチ プログラムは、関係データファイルからの非同期プリフェッチを待っている。 DataFileRead プログラムは、関係データファイルからデータを読み出すのを待っている。 DataFileSync プログラムは、関係データファイルへの変更が安定したストレージに到達するのを待っています。 DataFileTruncate プログラムは、関係データファイルが切り捨てられるのを待っている。 DataFileWrite プログラムは、関係データファイルにデータを書き込むのを待っている。 DSMFillZeroWrite プログラムは、動的共有メモリ内のバックアップファイルに0バイトを書き込むのを待っています。 LockFileAddToDataDirRead データの行がデータディレクトリロックファイルに追加されている間、プログラムはデータを読み取るのを待っています。 LockFileAddToDataDirSync プログラムは、データの行がデータディレクトリロックファイルに追加されている間、データの行が安定したストレージに到達するのを待っています。 LockFileAddToDataDirWrite データの行がデータディレクトリロックファイルに追加されている間、プログラムはデータの書き込みを待機しています。 LockFileCreateRead データディレクトリロックファイルが作成されている間、プログラムはデータの読み取りを待機しています。 LockFileCreateSync プログラムは、データディレクトリロックファイルが作成されている間、データが安定したストレージに到達するのを待っています。 LockFileCreateWrite データディレクトリロックファイルが作成されている間、プログラムはデータの書き込みを待機しています。 LockFileReCheckDataDirRead データ・ディレクトリ・ロック・ファイルが再チェックされている間、プログラムはデータを読み取るのを待っている。 LogicalRewriteCheckpointSync プログラムは、チェックポイント中に論理書き換えマッピングが安定したストレージに到達するのを待っています。 LogicalRewriteMappingSync プログラムは、論理書き換え操作中にマッピングデータが安定したストレージに到達するのを待っています。 LogicalRewriteMappingWrite プログラムは、論理書き換え動作中にマッピングデータを書き込むのを待っている。 LogicalRewriteSync プログラムは、論理書き換えマッピングが安定したストレージに到達するのを待っています。 LogicalRewriteWrite プログラムは、論理書き換えマッピングにデータを書き込むのを待っています。 RelationMapRead プログラムは、関係マッピングファイルからデータを読み取るのを待っています。 RelationMapSync プログラムは、リレーションマッピングファイルが安定したストレージに到達するのを待っています。 RelationMapWrite プログラムは、関係マッピングファイルにデータを書き込むのを待っている。 ReorderBufferRead プログラムは、リオーダバッファ管理中にデータの読み取りを待機しています。 ReorderBufferWrite プログラムは、リオーダバッファ管理中にデータの書き込みを待っています。 ReorderLogicalMappingRead プログラムは、リオーダバッファ管理中に論理マッピングからデータを読み取るのを待っている。 ReplicationSlotRead プログラムは、複製スロットの制御ファイルからデータを読み取るのを待っている。 ReplicationSlotRestoreSync プログラムは、ファイルがメモリに復元されている間、レプリケーションスロットの制御ファイルが安定したストレージに到達するのを待っています。 ReplicationSlotSync プログラムは、レプリケーションスロットの制御ファイルが安定したストレージに到達するのを待っています。 ReplicationSlotWrite プログラムは、複製スロットの制御ファイルにデータを書き込むのを待っている。 SLRUFlushSync プログラムは、チェックポイントまたはデータベースのシャットダウン期間中に、SLRU (Segmented Least Recently Used) データが安定したストレージに到達するのを待っています。 SLRURead プログラムはSLRUページからデータを読み取るのを待っています。 SLRUSync プログラムは、書き込み操作がページで実行された後、SLRUデータが安定したストレージに到達するのを待っています。 SLRUWrite プログラムはSLRUページにデータを書き込むのを待っています。 SnapbuildRead プログラムは、シリアル化された履歴カタログスナップショットからデータを読み取るのを待っています。 SnapbuildSync プログラムは、シリアル化された履歴カタログスナップショットが安定したストレージに到達するのを待っています。 SnapbuildWrite プログラムは、シリアル化された履歴カタログスナップショットにデータを書き込むのを待っています。 TimelineHistoryFileSync プログラムは、安定したストレージに到達するためにストリーミングレプリケーションを使用して受信されるタイムライン履歴ファイルを待っています。 TimelineHistoryFileWrite プログラムは、ストリーミングレプリケーションを使用して受信したタイムライン履歴ファイルからデータを読み取るのを待っています。 TimelineHistoryRead プログラムは、タイムライン履歴ファイルからデータを読み取るのを待っています。 TimelineHistorySync プログラムは、新しく作成されたタイムライン履歴ファイルが安定したストレージに到達するのを待っています。 TimelineHistoryWrite プログラムは、新しく作成されたタイムライン履歴ファイルにデータを書き込むのを待っています。 TwophaseFileRead プログラムは、2相状態ファイルからデータを読み取るのを待っている。 TwophaseFileSync プログラムは、2相状態ファイルが安定したストレージに到達するのを待っています。 TwophaseFileWrite プログラムは、2相状態ファイルにデータを書き込むのを待っている。 WALBootstrapSync プログラムは、ブートストラップ中にWALデータが安定したストレージに到達するのを待っています。 WALBootstrapWrite プログラムは、ブートストラップ中にWALページにデータを書き込むのを待っています。 WALCopyRead プログラムは、既存のWALセグメントをコピーすることによってWALセグメントが作成されている間、データの読み取りを待機しています。 WALCopySync プログラムは、既存のWALセグメントをコピーして作成されたWALセグメントが安定したストレージに到達するのを待機しています。 WALCopyWrite プログラムは、既存のWALセグメントをコピーすることによってWALセグメントが作成されている間、データの書き込みを待機している。 WALInitSync プログラムは、新しく初期化されたWALファイルが安定したストレージに到達するのを待っています。 WALInitWrite 新しいWALファイルが初期化されている間、プログラムはデータの書き込みを待っています。 WALRead プログラムはWALファイルからデータを読み取るのを待っています。 WALSenderTimelineHistoryRead プログラムは、walsender timelineコマンドが実行されている間、タイムライン履歴ファイルからデータを読み取るのを待っています。 WALSyncMethodAssign プログラムは、WAL同期方法が割り当てられている間、データが安定したストレージに到達するのを待っています。 WALWrite プログラムはWALファイルにデータを書き込むのを待っています。 説明 polar_stat_activityビューは、polar_monitor
プラグインによって提供されます。 このプラグインは、 PolarDB for PostgreSQLに組み込まれています。 このプラグインを有効化するには、create extension polar_monitor文を実行します。 - polar_stat_activity_rtpolar_stat_activity_rtビューは、すべてのプロセスのステータスのリアルタイムデータを提供します。
パラメーター データ型 説明 pid
integer プロセスのID。 backend_type
text バックエンドプロセスのタイプ。 cpu_user
bigint バックエンドサーバーのユーザーCPU使用率。 cpu_sys
bigint バックエンドサーバーのシステムCPU使用率。 rss
bigint バックエンドサーバーのメモリ使用量。 local_read_ps
bigint ローカルファイルシステムでの読み取り操作の累積合計。 local_write_ps
bigint ローカルファイルシステムに対する書き込み操作の累積合計。 local_read_スループット
bigint ローカルファイルシステムの読み取りスループットの累積合計。 local_write_スループット
bigint ローカルファイルシステムの書き込みスループットの累積合計。 local_read_latency_ms
double ローカルファイルシステムでの読み取り操作のレイテンシ。 local_write_latency_ms
double ローカルファイルシステムでの書き込み操作のレイテンシ。 説明 polar_stat_activity_rtビューは、polar_monitor
プラグインによって提供されます。 このプラグインは、 PolarDB for PostgreSQLに組み込まれています。 このプラグインを有効化するには、create extension polar_monitor
文を実行します。 - polar_delta重要
polar_delta
は、ビューの増分値を照会するために使用される関数です。 この機能は、polar_monitor
プラグインによって提供されます。 このプラグインは、 PolarDB for PostgreSQLに組み込まれています。 このプラグインを有効化するには、create extension polar_monitor
文を実行します。polar_delta関数を使用するには、次の手順を実行します。- ディメンションの列と値の列を含むビューを作成します。
- ディメンションの列の名前はdで始まる必要があります。
- 値の列の名前はvで始まる必要があります。
- 次のステートメントを実行してビューを照会します。
"select * from polar_delta (NULL::view_name)" "\watch 1 select * from polar_delta (NULL::view_name)"
- ディメンションの列と値の列を含むビューを作成します。
Resources
- CPU
セッションレベルのCPUメトリックは、polar_stat_activityビューに表示されます。
- 共有メモリ
PolarDBのバッファプールやラッチなどの他のグローバルデータ構造は、起動時に適用される共有メモリに割り当てられます。 次のビューをクエリすることで、関連情報を取得できます。
polar_stat_shmem
polar_stat_shmemビューは、各タイプの共有メモリに関する詳細なモニタリング情報を提供します。 次の表に、このビューのパラメーターを示します。パラメーター タイプ 説明 shmname
text 共有メモリの名前。 shmsize
bigint 共有メモリのサイズ。 (単位: バイト) shmtype
text 共有メモリのタイプ。 説明 polar_stat_shmemビューは、polar_monitor
プラグインによって提供されます。 このプラグインは、 PolarDB for PostgreSQLに組み込まれています。 このプラグインを有効化するには、create extension polar_monitor
文を実行します。polar_stat_shmem_total_サイズ
polar_stat_shmem_total_sizeビューは、共有メモリに関する集約モニタリング情報を提供します。 次の表に、このビューのパラメーターを示します。パラメーター タイプ 説明 shmsize
bigint 共有メモリのサイズ。 (単位: バイト) shmtype
text 共有メモリのタイプ。 説明 polar_stat_shmem_total_sizeビューは、polar_monitor
プラグインによって提供されます。 このプラグインは、 PolarDB for PostgreSQLに組み込まれています。 このプラグインを有効化するには、create extension polar_monitor
文を実行します。
- セッション専用メモリ
PolarDBのプライベートメモリは、実行プロセス中に動的に割り当てられ、解放されます。 セッションレベルのメモリメトリクスは、polar_stat_activityビューに表示されます。 コンテキスト依存メモリは、PolarDBの動的メモリ管理の基本単位であり、次の関数とビューを表示することで取得できます。
- polar_get_mcxt() 関数
パラメーター データ型 説明 pid
integer セッションプロセスのID。 名前
text コンテキスト依存メモリの名前。 レベル
int コンテキスト依存メモリのレベル。 nblocks
bigint 占有されているブロックの数。 freechunks
bigint フリーブロックの数。 totalspace
bigint 総メモリ。 (単位: バイト) freespace
bigint 空きメモリ。 (単位: バイト) polar_backends_mcxt
polar_backends_mcxtビューは、backend_typeによってグループ化されたコンテキスト依存メモリに関する情報を提供します。 次の表に、このビューのパラメーターを示します。パラメーター データ型 説明 pid
integer プロセスのID。 名前
text コンテキスト依存メモリの名前。 nblocks
bigint 占有されているブロックの数。 freechunks
bigint フリーブロックの数。 totalspace
bigint 総メモリ。 (単位: バイト) freespace
bigint 空きメモリ。 (単位: バイト) 説明 polar_backends_mcxtビューは、polar_monitor
プラグインによって提供されます。 このプラグインは、 PolarDB for PostgreSQLに組み込まれています。 このプラグインを有効化するには、create extension polar_monitor
文を実行します。
- polar_get_mcxt() 関数
- I/O
セッションレベルのI/Oメトリックは、polar_stat_activityビューに表示されます。 ファイルレベルのI/O情報とI/Oレイテンシ分布は、次のビューをクエリすることで取得できます。
- polar_stat_io_infopolar_stat_io_infoビューは、ファイルタイプごとにグループ化されたI/Oリクエストに関するモニタリング情報を提供します。 次の表に、このビューのパラメーターを示します。
パラメーター データ型 説明 ファイルタイプ
text ファイルタイプ。 fileloc
text ファイルが存在するファイルシステム。 現在、ローカルファイルシステムと共有ファイルシステムPolar file system (PFS) の2種類のファイルシステムがあります。 open_count
numeric ファイルが開かれた回数。 open_latency_us
double ファイルを開くための合計レイテンシ。 (単位: マイクロ秒) close_count
numeric ファイルが閉じられた回数。 read_count
numeric ファイルが読み取られた回数。 write_count
numeric ファイルが書き込まれた回数。 read_throughput
numeric ファイルシステムの読み取りスループット。 write_throughput
numeric ファイルシステムの書き込みスループット。 read_latency_us
double ファイルを読み取るための総レイテンシ。 (単位: マイクロ秒) write_latency_us
double ファイルにデータを書き込むための総レイテンシ。 (単位: マイクロ秒) seek_count
numeric seek() 関数を呼び出した回数。 seek_latency_us
double seek() 関数を呼び出すための総レイテンシ。 creat_count
numeric ファイルを作成した回数。 creat_latency_us
double ファイルを作成するための総レイテンシ。 fsync_count
numeric fsync() 関数を呼び出した回数。 fsync_latency_us
double fsync() 関数を呼び出すための総レイテンシ。 falloc_count
numeric fallocate() 関数を呼び出した回数。 falloc_latency_us
double floclate () 関数を呼び出すための総レイテンシ。 説明 polar_stat_io_infoビューは、polar_monitor
プラグインによって提供されます。 このプラグインは、 PolarDB for PostgreSQLに組み込まれています。 このプラグインを有効化するには、create extension polar_monitor
文を実行します。 - polar_stat_io_レイテンシpolar_stat_io_latencyビューは、I/Oタイプごとにグループ化されたI/Oレイテンシ情報を提供します。 次の表に、このビューのパラメーターを示します。
パラメーター データ型 説明 ヨーキンド
text ファイルに対する操作のタイプ。 有効な値: fsync
、creat
、seek
、open
、read
、write
、falloc
num_lessthan200us
numeric I/Oレイテンシが200マイクロ秒未満である回数。 num_lessthan400us
numeric I/Oレイテンシが200マイクロ秒を超え400マイクロ秒未満である回数。 num_lessthan600us
numeric I/Oレイテンシが400マイクロ秒を超え600マイクロ秒未満である回数。 num_lessthan800us
numeric I/Oレイテンシが600マイクロ秒を超え800マイクロ秒未満である回数。 num_lessthan1ms
numeric I/Oレイテンシが800マイクロ秒を超え、1ミリ秒未満である回数。 num_10ms未満
numeric I/Oレイテンシが1ミリ秒より大きく10ミリ秒より小さい回数。 num_lessthan100ms
numeric I/Oレイテンシが10ミリ秒を超え100ミリ秒未満である回数。 num_morethan100ms
numeric I/Oレイテンシが100ミリ秒を超える回数。 説明 polar_stat_io_latencyビューは、polar_monitor
プラグインによって提供されます。 このプラグインは、 PolarDB for PostgreSQLに組み込まれています。 このプラグインを有効化するには、create extension polar_monitor
文を実行します。
- polar_stat_io_info
- ネットワーク
次の関数とビューを照会して、ネットワーク監視情報を取得できます。
- polar_proc_stat_network() 関数
パラメーター データ型 説明 pid
bigint プロセスのID。 send_bytes
bigint 送信された合計バイト数。 send_count
bigint 送信回数の累積値。 recv_バイト
bigint 受信した合計バイト数。 recv_count
bigint 受信回数の累積値。 sendq
bigint ソケット上の送信キューの長さ。 recvq
bigint ソケット上の受信キューの長さ。 cwnd
bigint ソケットのスライドウィンドウの長さ。 rtt
bigint TCPパケットの往復時間 (RTT) 。 (単位: マイクロ秒) retrans
bigint データが再送信される累積回数。 tcpinfo_update_time
bigint TCPソケット監視情報の最終更新時刻。 このパラメーターの値は、第2レベルのタイムスタンプです。 それは毎秒更新されます。 前述の sendq
、recvq
、cwnd
、rtt
、およびretrans
メトリックは定期的に更新され、更新時刻はこのパラメータによって表示されます。 - polar_stat_ネットワークpolar_stat_networkビューは、ネットワークモニタリング情報を提供します。 次の表に、このビューのパラメーターを示します。
パラメーター データ型 説明 send_count
bigint システムがネットワークトラフィックを送信する回数。 send_bytes
bigint アウトバウンドトラフィックの量。 (単位: バイト) recv_count
bigint システムがネットワークトラフィックを受信した回数。 recv_バイト
bigint インバウンドトラフィックの量。 (単位: バイト) retrans
bigint データが再送信される回数。 説明 polar_stat_networkビューは、polar_monitor
プラグインによって提供されます。 このプラグインは、 PolarDB for PostgreSQLに組み込まれています。 このプラグインを有効化するには、create extension polar_monitor文を実行します。
- polar_proc_stat_network() 関数
- ロック
ロック情報を取得するには、次のビューを照会します。
- LWLock
polar_stat_lwlock
polar_stat_lwlockビューは、ロックに関するモニタリング情報を提供します。 次の表に、このビューのパラメーターを示します。パラメーター データ型 説明 トランシェ
smallint ロックのID。 名前
text ロックの名前。The name of the lock. sh_acquire_count
bigint システムが共有ロックを取得した回数。 ex_acquire_count
bigint システムが排他ロックを取得した回数。 ブロック_カウント
bigint 発生したブロックの数。 lock_nums
bigint 軽量ロックの数。 wait_time
bigint 総ロック待ち時間。 説明 polar_stat_lwlockビューは、polar_monitor_preload
プラグインによって提供されます。 このプラグインは、 PolarDB for PostgreSQLに組み込まれています。 このプラグインをアクティブ化するには、create extension polar_monitor_preloadステートメントを実行します。 - ロック
- pg_locks
パラメーター データ型 説明 locktype
text ロック可能なオブジェクトの型。 有効な値: relation、extend、page、tuple、transactionid、virtualxid、object、userlock、advisory。 データベース
oid ロックするオブジェクトが存在するデータベースのOID。 オブジェクトが共有オブジェクトの場合、値は0です。 オブジェクトがXIDの場合、値はNULLです。 関係
oid ロックされるリレーションのOID。 ロックされるオブジェクトがリレーションでないか、リレーションの一部にすぎない場合、値はNULLになります。 ページ
integer リレーション内でロックされるページのページ番号。 ロックされるオブジェクトがタプルまたはリレーションページでない場合、値はNULLになります。 タプル
smallint ページ内でロックされるタプルのタプル番号。 ロックされるオブジェクトがタプルでない場合、値はNULLです。 virtualxid
text ロックするトランザクションの仮想ID。 ロックされるオブジェクトが仮想XIDでない場合、値はNULLです。 transactionid
xid ロックするトランザクションのID。 ロックされるオブジェクトがXIDでない場合、値はNULLです。 クラシッド
oid ロックするオブジェクトを含むシステムカタログのOID。 オブジェクトが一般的なデータベースオブジェクトでない場合、値はNULLです。 objid
oid システムカタログ内でロックされるオブジェクトのID。 オブジェクトが一般的なデータベースオブジェクトでない場合、値はNULLです。 objsubid
smallint ロックする列のID。 classidおよびobjidの値は、テーブル自体を参照します。 ロックされるオブジェクトが他の一般的なデータベースオブジェクトである場合、値は0である。 オブジェクトが一般的なデータベースオブジェクトでない場合、値はNULLです。 virtualtransaction
text ロックを保持している、またはロックを待っているトランザクションの仮想ID。 pid
integer ロックを保持している、またはロックを待っているサーバープロセスのID。 このロックが準備済みトランザクションによって保持されている場合、値はNULLになります。 モード
text このプロセスで保持されている、または必要なロックモードの名前。 付与された
Boolean ロックが保持されている場合、値はtrueです。 ロックが待機されている場合、値はfalseです。 fastpath
Boolean 高速パスを使用してロックを取得した場合、値はtrueになります。 ロックがメインロックテーブルから取得された場合、値はfalseになります。 - polar_stat_lockpolar_stat_lockビューはロック統計を提供します。 次の表に、このビューのパラメーターを示します。
パラメーター データ型 説明 id
integer テーブルの主キー。 lock_type
text ロックのタイプ。 invalid
numeric ロックが無効であることを示します。 accesssharelock
numeric アクセスシェアロックの数。 rowsharelock
numeric ROW SHAREロックの数。 rowexclusivelock
numeric ROW EXCLUSIVEロックの数。 shareupdateexclusivelock
numeric SHARE UPDATE EXCLUSIVEロックの数。 シェアロック
numeric SHAREロックの数。 sharerowexclusivelock
numeric SHARE ROW EXCLUSIVEロックの数。 exclusivelock
numeric 排他的ロックの数。 accessexclusivelock
numeric ACCESS EXCLUSIVEロックの数。 ブロック_カウント
numeric ロックによって発生したブロックの数。 fastpath_count
numeric ローカルシステム上の高速パスロックの数。 wait_time
numeric ロックの待ち時間。 説明 polar_stat_lockビューは、polar_monitor_preload
プラグインによって提供されます。 このプラグインは、 PolarDB for PostgreSQLに組み込まれています。 このプラグインをアクティブ化するには、create extension polar_monitor_preload
ステートメントを実行します。
- pg_locks
- LWLock
- SLRU
polar_stat_slru() ビューをクエリして、SLRU (Segmented Least Recently Used) キャッシュデータに関するモニタリング情報を取得できます。
polar_stat_slru()
polar_stat_slru() ビューは、SLRUキャッシュデータに関するモニタリング情報を提供します。 次の表に、このビューのパラメーターを示します。パラメーター データ型 説明 slru_type
text テーブルの主キー。 スロット_番号
integer ページ数。 valid_pages
integer 使用されたページの数。 empty_pages
integer 空のページの数。 reading_pages
integer 読み取り操作が実行されているページの数。 writing_pages
integer 書き込み操作が実行されているページの数。 wait_reading
integer 読み取り操作の待機イベントの数。 wait_writings
integer 書き込み操作の待機イベントの数。 read_count
bigint 読み取り操作の数。 read_only_count
bigint 読み取り専用操作の数。 read_upgrade_count
bigint アップグレードモードでの読み取り操作の数。 victim_count
bigint データがキャッシュから追い出される回数。 victim_write_count
bigint データがキャッシュから追い出され、ディスクに書き込まれる回数。 write_count
bigint 書き込み操作の数。 zero_count
bigint キャッシュデータがクリアされた回数。 flush_count
bigint フラッシュ操作の数。 truncate_count
bigint truncate操作の数。 storage_read_count
bigint ディスクからデータを読み取った回数。 storage_write_count
bigint ディスクにデータを書き込む回数。 説明 polar_stat_slruビューは、polar_monitor
プラグインによって提供されます。 このプラグインは、 PolarDB for PostgreSQLに組み込まれています。 このプラグインを有効化するには、create extension polar_monitor
文を実行します。 - cgroup
次のビューを照会して、システムリソースに関する情報を取得できます。
- polar_stat_cgroup
polar_stat_cgroupは、システムリソースと制御グループ (cgroups) に関する統計を提供します。 次の表に、このビューのパラメーターを示します。
パラメーター データ型 説明 サブタイプ
text cgroupの型。 有効な値: IO、メモリ、CPU。 infotype
text cgroupに関する情報。 カウント
bigint 使用されているリソースに関する統計。 説明 polar_stat_cgroupビューは、polar_monitor_preload
およびpolar_monitor
プラグインによって提供されます。 これらのプラグインは、 PolarDB for PostgreSQLに組み込まれています。 プラグインをアクティブ化するには、create extension polar_monitor_preloadおよびcreate extension polar_monitorステートメントを実行します。 - polar_cgroup_クォータpolar_cgroup_quotaは、システムリソースとcgroupクォータに関する統計を提供します。 次の表に、このビューのパラメーターを示します。
パラメーター データ型 説明 サブタイプ
text cgroupの型。 有効な値: IO、メモリ、CPU。 infotype
text cgroupsに関する情報。 カウント
bigint cgroupのクォータ。 説明 polar_cgroup_quotaビューは、polar_monitor
プラグインによって提供されます。 このプラグインは、 PolarDB for PostgreSQLに組み込まれています。 このプラグインを有効化するには、create extension polar_monitor
文を実行します。
- polar_stat_cgroup