このトピックでは、PolarDB for PostgreSQL (Compatible with Oracle) のビューについて説明します。 ビューをクエリしてインスタンスの詳細を取得できます。 これは、パフォーマンスの問題のトラブルシューティングに役立ちます。
基本インスタンス情報
pg_stat_データベース
pg_stat_databaseビューには、クラスターの各インスタンスの各行に関する統計が表示されます。 次の表に、このビューのパラメーターを示します。
パラメーター
データ型
説明
datidoid
データベースのオブジェクト識別子 (OID) 。
datnamename
データベース名。
numbackendsinteger
データベースに接続されているバックエンドサーバーの数。 ビューでは、この列は現在のステータスを返す唯一の列です。 他の列は、最後にリセットされた値から始まる累積値を返す。
xact_commitbigint
データベースでコミットされたトランザクションの総数。
xact_rollbackbigint
データベースでロールバックされたトランザクションの総数。
blks_readbigint
データベースで物理的に読み取られたディスクブロックの総数。
blks_hitbigint
バッファ内でヒットしたディスクブロックの数。 ディスクブロックを読み取る必要はありません。 キャッシュヒット数は、PolarDB for PostgreSQL (Compatible with Oracle) バッファ内のヒットのみを示します。 OSのファイルシステムバッファのヒットは無視される。
tup_returnedbigint
データベース内のクエリによって返される行数。
tup_fetchedbigint
データベース内のクエリによって取得された行数。
tup_insertedbigint
クエリによってデータベースに挿入された行数。
tup_updatedbigint
データベース内のクエリによって更新された行数。
tup_deletedbigint
データベース内のクエリによって削除された行数。
conflictsbigint
読み取り専用ノードのリプレイの競合の回復によりキャンセルされたクエリの数。
temp_filesbigint
データベース内のクエリによって作成された一時ファイルの数。 すべての一時ファイルは、ファイルが作成された理由や
log_temp_filesの設定に関係なくカウントされます。temp_bytesbigint
データベース内のクエリによって一時ファイルに書き込まれたデータの合計量。 すべての一時ファイルは、ファイルが作成された理由や
log_temp_filesの設定に関係なくカウントされます。deadlocksbigint
データベースで検出されたデッドロックの数。
blk_read_timedouble precision
バックエンドサーバーがデータベース内のデータファイルを読み取るために費やした時間。 (単位: ミリ秒)
blk_write_timedouble precision
バックエンドサーバーがデータベースにデータファイルを書き込むために費やした時間。 (単位: ミリ秒)
stats_resettimestamp with time zone
統計がリセットされた最新の時刻。
pg_stat_bgwriter
pg_stat_bgwriterビューには1行のみが含まれます。 この行には、クラスターのグローバルデータが含まれます。
パラメーター
データ型
説明
checkpoints_timedbigint
実行されたチェックポイントの数。
checkpoints_reqbigint
実行された、要求されたチェックポイントの数。
checkpoint_write_timedouble precision
チェックポイント中にファイルをディスクに書き込むのに費やされた時間。 (単位: ミリ秒)
checkpoint_sync_timedouble precision
チェックポイント中にファイルをディスクに同期させるのに費やされた時間。 (単位: ミリ秒)
buffers_checkpointbigint
チェックポイント中に書き込まれるバッファの数。
buffers_cleanbigint
バックグラウンド・ライタ・プロセスによって占有されるバッファの数。
maxwritten_cleanbigint
大量のデータが一度に書き込まれるため、バックグラウンド書き込みプロセスがクリーニングスキャンを停止する回数。
buffers_backendbigint
バックエンドによって直接書き込まれるバッファの数。
buffers_backend_fsyncbigint
バックエンドがバックグラウンドライタープロセスの代わりにfsync呼び出しを実行した回数。 ほとんどの場合、バックエンドが書き込み操作を実行する場合でも、バックグラウンド書き込みプロセスは書き込み操作を処理します。
buffers_allocbigint
割り当てられたバッファの数。
stats_resettimestamp with time zone
統計が最後にリセットされた時刻。
活動ステータス
polar_stat_アクティビティ
polar_stat_activityビューには、各プロセスのステータスが表示されます。 これは、各プロセスの累積合計を提供します。
パラメーター
データ型
説明
datidoid
データベースのOID。
datnamename
データベース名。
pidinteger
プロセスのID。
usesysidoid
ユーザーの ID。
usenamename
ユーザー名。
application_nametext
データベースに接続されているアプリケーションの名前。
client_addrinet
データベースに接続されているクライアントのIPアドレス。
client_hostnametext
接続されているクライアントのホスト名。
client_portinteger
クライアントとデータベース間の通信に使用されるポート。
backend_starttimestamp
プロセスが開始された時刻。
xact_starttimestamp
プロセスの現在のトランザクションが開始された時刻。
query_starttimestamp
SQL文が実行される開始時刻。
state_changetimestamp
プロセスのステータスが最後に変更された時刻。
wait_event_typetext
バックエンドがセッションで待機しているイベントのタイプ。 バックエンドがイベントを待機していない場合、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_eventtext
待機イベントの名前。 バックエンドがイベントを待機していない場合、NULLが返されます。
statetext
プロセスのステータス。
backend_xidxid
クライアントのトランザクション識別子 (XID) 。
backend_xminxid
クライアントのxmin値。
querytext
実行されたSQL文。
backend_typetext
バックエンドプロセスのタイプ。
queryidbigint
SQL文の一意のID。
wait_objecttext
待機オブジェクト。The wait object. このパラメーターは、バックエンドがイベントを待機しているときに返されます。
wait_typetext
待機オブジェクトのタイプ。 このパラメーターは、バックエンドがイベントを待機しているときに返されます。
wait_time_msdouble
費やされる待ち時間。 このパラメーターは、バックエンドがイベントを待機しているときに返されます。
cpu_userbigint
バックエンドサーバーのユーザーCPU使用率。
cpu_sysbigint
バックエンドサーバーのシステムCPU使用率。
rssbigint
バックエンドサーバーのメモリ使用量。
pfs_read_psbigint
Polarファイルシステム (PFS) での読み取り操作の累積合計。
pfs_write_psbigint
PFSに対する書き込み操作の累積合計。
pfs_read_throughputbigint
PFSの読み取りスループットの累積合計。
pfs_write_throughputbigint
PFSの書き込みスループットの累積合計。
pfs_read_latency_msdouble
PFSでの読み取り操作のレイテンシ。
pfs_write_latency_msdouble
PFSでの書き込み操作のレイテンシ。
local_read_psbigint
ローカルファイルシステムでの読み取り操作の累積合計。
local_write_psbigint
ローカルファイルシステムに対する書き込み操作の累積合計。
local_read_throughputbigint
ローカルファイルシステムの読み取りスループットの累積合計。
local_write_throughputbigint
ローカルファイルシステムの書き込みスループットの累積合計。
local_read_latency_msdouble
ローカルファイルシステムでの読み取り操作のレイテンシ。
local_write_latency_msdouble
ローカルファイルシステムでの書き込み操作のレイテンシ。
待機イベント
待機イベントタイプ
待機イベント名
説明
LWLockShmemIndexLock
プログラムは、共有メモリ内のスペースを見つけたり割り当てたりするのを待っています。
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
プログラムは、共有メモリ内のスペース割り当てを管理するために待機しています。
AutovacuumLock
自動真空作業者またはランチャーは、自動真空作業者のステータスの更新または読み取りを待機しています。
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
バックエンドはコミットログ (CLOG) バッファでI/O要求を待っています。 CLOGは、トランザクションのコミット状態を記録する。
commit_timestamp
プログラムは、コミットタイムスタンプバッファ上のI/O要求を待っている。
ubtrans
プログラムは、サブトランザクションバッファ上の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
プログラムは、並列ハッシュプランが実行されている間、メモリまたは更新カウンタのチャンクの割り当てまたは交換を待機しています。
ロックrelation
プログラムは、リレーションのロックを取得するのを待っています。
extend
プログラムは関係を拡張するのを待っています。
page
プログラムは、リレーションのページでロックを取得するのを待っています。
tuple
プログラムはタプルのロックを取得するのを待っています。
transactionid
プログラムはトランザクションが完了するのを待っています。
virtualxid
プログラムは仮想XIDロックの取得を待っています。
speculative token
プログラムは、投機的挿入ロックを得るために待機している。
object
プログラムは、非リレーショナルデータベースオブジェクトのロックを取得するために待機しています。
userlock
プログラムはユーザーロックを取得するために待機しています。
advisory
プログラムは、アドバイザリーユーザーロックを取得するために待機しています。
BufferPinBufferPinプログラムはバッファを固定するのを待っている。
ActivityArchiverMain
プログラムはアーカイブプロセスのメインループで待機しています。
AutoVacuumMain
プログラムは、自動真空ランチャープロセスのメインループで待機しています。
BgWriterHibernate
インスタンスが休止状態にある間、プログラムはバックグラウンドライタープロセスで待機しています。
BgWriterMain
プログラムは、バックグラウンドワーカープロセスのバックグラウンドワーカーのメインループで待機しています。
CheckpointerMain
プログラムは、チェックポインタプロセスのメインループで待機しています。
LogicalApplyMain
プログラムは論理適用プロセスのメインループで待機しています。
LogicalLauncherMain
プログラムは論理ランチャープロセスのメインループで待機しています。
PgStatMain
プログラムは統計収集プロセスのメインループで待機しています。
RecoveryWalAll
プログラムは、インスタンスの復元中に、ローカルファイル、アーカイブファイル、ストリームなどのソースからのWALデータを待機しています。
RecoveryWalStream
プログラムは、インスタンスが復元されている間、ストリームからのWALデータを待っています。
SysLoggerMain
プログラムはsyslogプロセスのメインループで待機しています。
WalReceiverMain
プログラムは、WAL受信機プロセスのメインループで待機している。
WalSenderMain
プログラムはWAL送信プロセスのメインループで待機しています。
WalWriterMain
プログラムはWALライタープロセスのメインループで待機しています。
ClientClientRead
プログラムはクライアントからデータを読み取るのを待っています。
ClientWrite
プログラムはクライアントにデータを書き込むのを待っています。
LibPQWalReceiverConnect
プログラムは、リモートサーバに接続するためにWAL受信機プロセスで待機している。
LibPQWalReceiverReceive
プログラムは、リモートサーバからデータを受信するために、WAL受信機プロセスにおいて待機している。
SSLOpenServer
接続が確立されている間、プログラムはSSLを待っています。
WalReceiverWaitStart
プログラムは、起動プロセスがストリーミング複製用の初期データを送信するのを待っています。
WalSenderWaitForWAL
プログラムは、WAL送信プロセスでWALデータがフラッシュされるのを待っている。
WalSenderWriteData
プログラムは、WAL受信機からの応答がWAL送信機プロセスで処理されている間に生じる活動を待っている。
ExtensionExtension
プログラムは拡張機能で待機しています。
IPCBgWorkerShutdown
プログラムはバックグラウンドワーカーがシャットダウンするのを待っています。
BgWorkerStartup
プログラムはバックグラウンドワーカーが起動するのを待っています。
BtreePage
プログラムは、Bツリーを並行してスキャンし続けるために必要なページ番号が利用可能になるのを待っている。
ClogGroupUpdate
プログラムは、トランザクションが終了すると、グループリーダーがトランザクションのステータスを更新するのを待っています。
ExecuteGather
Gatherノードが実行されている間、プログラムは子プロセスからのアクティビティを待っています。
ash/Batch/Allocating
プログラムは、選出された並列ハッシュ参加者がハッシュテーブルを割り当てるのを待っている。
Hash/Batch/Electing
プログラムは、並列ハッシュ参加者がハッシュテーブルを割り当てるために選出されるのを待っている。
Hash/Batch/Loading
プログラムは、他のParallel Hash参加者がハッシュテーブルの読み込みを完了するのを待っています。
Hash/Build/Allocating
プログラムは、選択された並列ハッシュ参加者が初期ハッシュテーブルを割り当てるのを待っている。
Hash/Build/Electing
プログラムは、初期ハッシュテーブルを割り当てるために選択される並列ハッシュ参加者を待っている。
Hash/Build/HashingInner
プログラムは、他の並列ハッシュ参加者が内部関係に対するハッシュ演算を完了するのを待っている。
Hash/Build/HashingOuter
プログラムは、他の並列ハッシュ参加者が外部関係に対するハッシュ演算を完了するのを待っている。
Hash/GrowBatches/Allocating
プログラムは、選出された並列ハッシュ参加者がハッシュテーブルのより多くのバッチを割り当てるのを待っている。
Hash/GrowBatches/Deciding
プログラムは、並列ハッシュ参加者がハッシュテーブルバッチの増加を決定するために選出されるのを待っている。
Hash/GrowBatches/Electing
プログラムは、並列ハッシュ参加者がハッシュテーブルのより多くのバッチを割り当てるために選出されるのを待っている。
Hash/GrowBatches/Finishing
プログラムは、選出された並列ハッシュ参加者がハッシュテーブルバッチの増加を決定するのを待っている。
Hash/GrowBatches/Repartitioning
プログラムは、他のParallel Hash参加者が再分割を完了するのを待っています。
Hash/GrowBuckets/Allocating
プログラムは、選出されたParallel Hash参加者がさらにバケットの割り当てを完了するのを待っています。
Hash/GrowBuckets/Electing
プログラムは、並列ハッシュ参加者がより多くのバケットを割り当てるために選出されるのを待っている。
Hash/GrowBuckets/Reinserting
プログラムは、他のParallel Hash参加者が新しいバケットにタプルを挿入するのを待っています。
LogicalSyncData
プログラムは、論理レプリケーションのリモートサーバーが初期テーブルの同期に使用されるデータを送信するのを待機しています。
LogicalSyncStateChange
プログラムは、論理レプリケーションのリモートサーバーのステータスが変更されるのを待っています。
MessageQueueInternal
プログラムは、他のプロセスが共有メッセージキューに追加されるのを待っています。
MessageQueuePutMessage
プログラムは、プロトコルメッセージを共有メッセージキューに書き込むのを待っている。
MessageQueueReceive
プログラムは、共有メッセージキューからバイトを受け取るのを待っています。
MessageQueueSend
プログラムは、バイトを共有メッセージキューに送信するのを待っています。
ParallelBitmapScan
プログラムは、初期化されるべきビットマップの並列走査を待っている。
ParallelCreateIndexScan
プログラムは、CREATE INDEX並列ワーカーがヒープスキャンを完了するのを待っています。
ParallelFinish
プログラムは、並列ワーカーがコンピューティングを完了するのを待っています。
ProcArrayGroupUpdate
プログラムは、トランザクションが完了した後、グループリーダーがXIDをクリアするのを待っています。
ReplicationOriginDrop
プログラムは、複製起点を削除できるように複製起点が非アクティブになるのを待っている。
ReplicationSlotDrop
プログラムは、複製スロットを削除できるように複製スロットが非アクティブになるのを待っている。
SafeSnapshot
プログラムは、READ ONLY DEFERRABLEトランザクションで使用できるスナップショットを待っています。
SyncRep
プログラムは、同期レプリケーション中にリモートサーバーからの確認を待っています。
TimeoutBaseBackupThrottle
プログラムは、スロットリングアクティビティが進行中である間、ベースバックアップフェーズで待機しています。
PgSleep
プログラムはpg_sleep関数を呼び出すプロセスで待機しています。
RecoveryApplyDelay
WALの適用が遅れるため、データが復元されている間、プログラムはWALの適用を待機しています。
IOBufFileRead
プログラムは、バッファリングされたファイルからデータを読み取るのを待っています。
BufFileWrite
プログラムは、バッファされたファイルにデータを書き込むのを待っている。
ControlFileRead
プログラムは制御ファイルからデータを読み取るのを待っています。
ControlFileSync
プログラムは、制御ファイルが安定したストレージに到達するのを待っています。
ControlFileSyncUpdate
プログラムは、制御ファイルの更新が安定したストレージに到達するのを待っています。
ControlFileWrite
プログラムは制御ファイルにデータを書き込むのを待っています。
ControlFileWriteUpdate
プログラムは、制御ファイルを更新するためにデータを書き込むのを待っている。
CopyFileRead
ファイルがコピーされている間、プログラムはデータを読み取るのを待っています。
CopyFileWrite
ファイルがコピーされている間、プログラムはデータの書き込みを待っています。
DataFileExtend
プログラムは、関連データファイルが拡張されるのを待っている。
DataFileFlush
プログラムは、関係データファイルが安定したストレージに到達するのを待っています。
DataFileImmediateSync
プログラムは、関係データファイルがすぐに同期されて安定したストレージに到達するのを待っています。
DataFilePrefetch
プログラムは、関係データファイルからの非同期プリフェッチを待っている。
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 (Oracle互換) に組み込まれています。 このプラグインを有効化するには、create extension polar_monitor文を実行します。polar_stat_activity_rt
polar_stat_activity_rtビューは、すべてのプロセスのステータスのリアルタイムデータを提供します。
パラメーター
データ型
説明
pidinteger
プロセスのID。
backend_typetext
バックエンドプロセスのタイプ。
cpu_userbigint
バックエンドサーバーのユーザーCPU使用率。
cpu_sysbigint
バックエンドサーバーのシステムCPU使用率。
rssbigint
バックエンドサーバーのメモリ使用量。
local_read_psbigint
ローカルファイルシステムでの読み取り操作の累積合計。
local_write_psbigint
ローカルファイルシステムに対する書き込み操作の累積合計。
local_read_throughputbigint
ローカルファイルシステムの読み取りスループットの累積合計。
local_write_throughputbigint
ローカルファイルシステムの書き込みスループットの累積合計。
local_read_latency_msdouble
ローカルファイルシステムでの読み取り操作のレイテンシ。
local_write_latency_msdouble
ローカルファイルシステムでの書き込み操作のレイテンシ。
説明polar_stat_activity_rtビューは、
polar_monitorプラグインによって提供されます。 このプラグインは、PolarDB for PostgreSQL (Oracle互換) に組み込まれています。 このプラグインを有効化するには、create extension polar_monitor文を実行します。polar_delta
重要polar_deltaは、ビューの増分値を照会するために使用される関数です。 この機能は、polar_monitorプラグインによって提供されます。 このプラグインは、PolarDB for PostgreSQL (Oracle互換) に組み込まれています。 このプラグインを有効化するには、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ビューは、各タイプの共有メモリに関する詳細なモニタリング情報を提供します。 次の表に、このビューのパラメーターを示します。
パラメーター
タイプ
説明
shmnametext
共有メモリの名前。
shmsizebigint
共有メモリのサイズ。 (単位: バイト)
shmtypetext
共有メモリのタイプ。
説明polar_stat_shmemビューは、
polar_monitorプラグインによって提供されます。 このプラグインは、PolarDB for PostgreSQL (Oracle互換) に組み込まれています。 このプラグインを有効化するには、create extension polar_monitor文を実行します。polar_stat_shmem_total_サイズ
polar_stat_shmem_total_sizeビューは、共有メモリに関する集約モニタリング情報を提供します。 次の表に、このビューのパラメーターを示します。
パラメーター
タイプ
説明
shmsizebigint
共有メモリのサイズ。 (単位: バイト)
shmtypetext
共有メモリのタイプ。
説明polar_stat_shmem_total_sizeビューは、
polar_monitorプラグインによって提供されます。 このプラグインは、PolarDB for PostgreSQL (Oracle互換) に組み込まれています。 このプラグインを有効化するには、create extension polar_monitor文を実行します。
セッション専用メモリ
PolarDBのプライベートメモリは、実行プロセス中に動的に割り当てられ、解放されます。 セッションレベルのメモリメトリクスは、polar_stat_activityビューに表示されます。 コンテキスト依存メモリは、PolarDBの動的メモリ管理の基本単位であり、次の関数とビューを表示することで取得できます。
polar_get_mcxt() 関数
パラメーター
データ型
説明
pidinteger
セッションプロセスのID。
nametext
コンテキスト依存メモリの名前。
levelint
コンテキスト依存メモリのレベル。
nblocksbigint
占有されているブロックの数。
freechunksbigint
フリーブロックの数。
totalspacebigint
総メモリ。 (単位: バイト)
freespacebigint
空きメモリ。 (単位: バイト)
polar_backends_mcxt
polar_backends_mcxtビューは、backend_typeによってグループ化されたコンテキスト依存メモリに関する情報を提供します。 次の表に、このビューのパラメーターを示します。
パラメーター
データ型
説明
pidinteger
プロセスのID。
nametext
コンテキスト依存メモリの名前。
nblocksbigint
占有されているブロックの数。
freechunksbigint
フリーブロックの数。
totalspacebigint
総メモリ。 (単位: バイト)
freespacebigint
空きメモリ。 (単位: バイト)
説明polar_backends_mcxtビューは、
polar_monitorプラグインによって提供されます。 このプラグインは、PolarDB for PostgreSQL (Oracle互換) に組み込まれています。 このプラグインを有効化するには、create extension polar_monitor文を実行します。
I/O
セッションレベルのI/Oメトリックは、polar_stat_activityビューに表示されます。 ファイルレベルのI/O情報とI/Oレイテンシ分布は、次のビューをクエリすることで取得できます。
polar_stat_io_info
polar_stat_io_infoビューは、ファイルタイプごとにグループ化されたI/Oリクエストに関するモニタリング情報を提供します。 次の表に、このビューのパラメーターを示します。
パラメーター
データ型
説明
filetypetext
ファイルタイプ。
fileloctext
ファイルが存在するファイルシステム。 現在、ローカルファイルシステムと共有ファイルシステムPolar file system (PFS) の2種類のファイルシステムがあります。
open_countnumeric
ファイルが開かれた回数。
open_latency_usdouble
ファイルを開くための合計レイテンシ。 (単位: マイクロ秒)
close_countnumeric
ファイルが閉じられた回数。
read_countnumeric
ファイルが読み取られた回数。
write_countnumeric
ファイルが書き込まれた回数。
read_throughputnumeric
ファイルシステムの読み取りスループット。
write_throughputnumeric
ファイルシステムの書き込みスループット。
read_latency_usdouble
ファイルを読み取るための総レイテンシ。 (単位: マイクロ秒)
write_latency_usdouble
ファイルにデータを書き込むための総レイテンシ。 (単位: マイクロ秒)
seek_countnumeric
seek() 関数を呼び出した回数。
seek_latency_usdouble
seek() 関数を呼び出すための総レイテンシ。
creat_countnumeric
ファイルを作成した回数。
creat_latency_usdouble
ファイルを作成するための総レイテンシ。
fsync_countnumeric
fsync() 関数を呼び出した回数。
fsync_latency_usdouble
fsync() 関数を呼び出すための総レイテンシ。
falloc_countnumeric
fallocate() 関数を呼び出した回数。
falloc_latency_usdouble
floclate () 関数を呼び出すための総レイテンシ。
説明polar_stat_io_infoビューは、
polar_monitorプラグインによって提供されます。 このプラグインは、PolarDB for PostgreSQL (Oracle互換) に組み込まれています。 このプラグインを有効化するには、create extension polar_monitor文を実行します。polar_stat_io_レイテンシ
polar_stat_io_latencyビューは、I/Oタイプごとにグループ化されたI/Oレイテンシ情報を提供します。 次の表に、このビューのパラメーターを示します。
パラメーター
データ型
説明
iokindtext
ファイルに対する操作のタイプ。 有効な値:
fsync、creat、seek、open、read、write、fallocnum_lessthan200usnumeric
I/Oレイテンシが200マイクロ秒未満である回数。
num_lessthan400usnumeric
I/Oレイテンシが200マイクロ秒を超え400マイクロ秒未満である回数。
num_lessthan600usnumeric
I/Oレイテンシが400マイクロ秒を超え600マイクロ秒未満である回数。
num_lessthan800usnumeric
I/Oレイテンシが600マイクロ秒を超え800マイクロ秒未満である回数。
num_lessthan1msnumeric
I/Oレイテンシが800マイクロ秒を超え、1ミリ秒未満である回数。
num_10ms未満numeric
I/Oレイテンシが1ミリ秒より大きく10ミリ秒より小さい回数。
num_lessthan100msnumeric
I/Oレイテンシが10ミリ秒を超え100ミリ秒未満である回数。
num_morethan100msnumeric
I/Oレイテンシが100ミリ秒を超える回数。
説明polar_stat_io_latencyビューは、
polar_monitorプラグインによって提供されます。 このプラグインは、PolarDB for PostgreSQL (Oracle互換) に組み込まれています。 このプラグインを有効化するには、create extension polar_monitor文を実行します。
ネットワーク
次の関数とビューを照会して、ネットワーク監視情報を取得できます。
polar_proc_stat_network() 関数
パラメーター
データ型
説明
pidbigint
プロセスのID。
send_bytesbigint
送信された合計バイト数。
send_countbigint
送信回数の累積値。
recv_bytesbigint
受信した合計バイト数。
recv_countbigint
受信回数の累積値。
sendqbigint
ソケット上の送信キューの長さ。
recvqbigint
ソケット上の受信キューの長さ。
cwndbigint
ソケットのスライドウィンドウの長さ。
rttbigint
TCPパケットの往復時間 (RTT) 。 (単位: マイクロ秒)
retransbigint
データが再送信される累積回数。
tcpinfo_update_timebigint
TCPソケット監視情報の最終更新時刻。 このパラメーターの値は、第2レベルのタイムスタンプです。 それは毎秒更新されます。 前述の
sendq、recvq、cwnd、rtt、およびretransメトリックは定期的に更新され、更新時刻はこのパラメータによって表示されます。polar_stat_ネットワーク
polar_stat_networkビューは、ネットワークモニタリング情報を提供します。 次の表に、このビューのパラメーターを示します。
パラメーター
データ型
説明
send_countbigint
システムがネットワークトラフィックを送信する回数。
send_bytesbigint
アウトバウンドトラフィックの量。 (単位: バイト)
recv_countbigint
システムがネットワークトラフィックを受信した回数。
recv_bytesbigint
インバウンドトラフィックの量。 (単位: バイト)
retransbigint
データが再送信される回数。
説明polar_stat_networkビューは、
polar_monitorプラグインによって提供されます。 このプラグインは、PolarDB for PostgreSQL (Oracle互換) に組み込まれています。 このプラグインを有効化するには、create extension polar_monitor文を実行します。
ロック
ロック情報を取得するには、次のビューを照会します。
LWLock
polar_stat_lwlock
polar_stat_lwlockビューは、ロックに関するモニタリング情報を提供します。 次の表に、このビューのパラメーターを示します。
パラメーター
データ型
説明
tranchesmallint
ロックのID。
nametext
ロックの名前。The name of the lock.
sh_acquire_countbigint
システムが共有ロックを取得した回数。
ex_acquire_countbigint
システムが排他ロックを取得した回数。
block_countbigint
発生したブロックの数。
lock_numsbigint
軽量ロックの数。
wait_timebigint
総ロック待ち時間。
説明polar_stat_lwlockビューは、
polar_monitor_preloadプラグインによって提供されます。 このプラグインは、PolarDB for PostgreSQL (Oracle互換) に組み込まれています。 このプラグインをアクティブ化するには、create extension polar_monitor_preloadステートメントを実行します。ロック
pg_locks
パラメーター
データ型
説明
locktypetext
ロック可能なオブジェクトの型。 有効な値: relation、extend、page、tuple、transactionid、virtualxid、object、userlock、advisory。
databaseoid
ロックするオブジェクトが存在するデータベースのOID。 オブジェクトが共有オブジェクトの場合、値は0です。 オブジェクトがXIDの場合、値はNULLです。
relationoid
ロックされるリレーションのOID。 ロックされるオブジェクトがリレーションでないか、リレーションの一部にすぎない場合、値はNULLになります。
pageinteger
リレーション内でロックされるページのページ番号。 ロックされるオブジェクトがタプルまたはリレーションページでない場合、値はNULLになります。
tuplesmallint
ページ内でロックされるタプルのタプル番号。 ロックされるオブジェクトがタプルでない場合、値はNULLです。
virtualxidtext
ロックするトランザクションの仮想ID。 ロックされるオブジェクトが仮想XIDでない場合、値はNULLです。
transactionidxid
ロックするトランザクションのID。 ロックされるオブジェクトがXIDでない場合、値はNULLです。
classidoid
ロックするオブジェクトを含むシステムカタログのOID。 オブジェクトが一般的なデータベースオブジェクトでない場合、値はNULLです。
objidoid
システムカタログ内でロックされるオブジェクトのID。 オブジェクトが一般的なデータベースオブジェクトでない場合、値はNULLです。
objsubidsmallint
ロックする列のID。 classidおよびobjidの値は、テーブル自体を参照します。 ロックされるオブジェクトが他の一般的なデータベースオブジェクトである場合、値は0である。 オブジェクトが一般的なデータベースオブジェクトでない場合、値はNULLです。
virtualtransactiontext
ロックを保持している、またはロックを待っているトランザクションの仮想ID。
pidinteger
ロックを保持している、またはロックを待っているサーバープロセスのID。 このロックが準備済みトランザクションによって保持されている場合、値はNULLになります。
modetext
このプロセスで保持されている、または必要なロックモードの名前。
grantedBoolean
ロックが保持されている場合、値はtrueです。 ロックが待機されている場合、値はfalseです。
fastpathBoolean
高速パスを使用してロックを取得した場合、値はtrueになります。 ロックがメインロックテーブルから取得された場合、値はfalseになります。
polar_stat_lock
polar_stat_lockビューはロック統計を提供します。 次の表に、このビューのパラメーターを示します。
パラメーター
データ型
説明
idinteger
テーブルの主キー。
lock_typetext
ロックのタイプ。
invalidnumeric
ロックが無効であることを示します。
accesssharelocknumeric
アクセスシェアロックの数。
rowsharelocknumeric
ROW SHAREロックの数。
rowexclusivelocknumeric
ROW EXCLUSIVEロックの数。
shareupdateexclusivelocknumeric
SHARE UPDATE EXCLUSIVEロックの数。
sharelocknumeric
SHAREロックの数。
sharerowexclusivelocknumeric
SHARE ROW EXCLUSIVEロックの数。
exclusivelocknumeric
排他的ロックの数。
accessexclusivelocknumeric
ACCESS EXCLUSIVEロックの数。
block_countnumeric
ロックによって発生したブロックの数。
fastpath_countnumeric
ローカルシステム上の高速パスロックの数。
wait_timenumeric
ロックの待ち時間。
説明polar_stat_lockビューは、
polar_monitor_preloadプラグインによって提供されます。 このプラグインは、PolarDB for PostgreSQL (Oracle互換) に組み込まれています。 このプラグインをアクティブ化するには、create extension polar_monitor_preloadステートメントを実行します。
SLRU
polar_stat_slru() ビューをクエリして、SLRU (Segmented Least Recently Used) キャッシュデータに関するモニタリング情報を取得できます。
polar_stat_slru()
polar_stat_slru() ビューは、SLRUキャッシュデータに関するモニタリング情報を提供します。 次の表に、このビューのパラメーターを示します。
パラメーター
データ型
説明
slru_typetext
テーブルの主キー。
slots_numberinteger
ページ数。
valid_pagesinteger
使用されたページの数。
empty_pagesinteger
空のページの数。
reading_pagesinteger
読み取り操作が実行されているページの数。
writing_pagesinteger
書き込み操作が実行されているページの数。
wait_readinginteger
読み取り操作の待機イベントの数。
wait_writingsinteger
書き込み操作の待機イベントの数。
read_countbigint
読み取り操作の数。
read_only_countbigint
読み取り専用操作の数。
read_upgrade_countbigint
アップグレードモードでの読み取り操作の数。
victim_countbigint
データがキャッシュから追い出される回数。
victim_write_countbigint
データがキャッシュから追い出され、ディスクに書き込まれる回数。
write_countbigint
書き込み操作の数。
zero_countbigint
キャッシュデータがクリアされた回数。
flush_countbigint
フラッシュ操作の数。
truncate_countbigint
truncate操作の数。
storage_read_countbigint
ディスクからデータを読み取った回数。
storage_write_countbigint
ディスクにデータを書き込む回数。
説明polar_stat_slruビューは、
polar_monitorプラグインによって提供されます。 このプラグインは、PolarDB for PostgreSQL (Oracle互換) に組み込まれています。 このプラグインを有効化するには、create extension polar_monitor文を実行します。cgroup
次のビューを照会して、システムリソースに関する情報を取得できます。
polar_stat_cgroup
polar_stat_cgroupは、システムリソースと制御グループ (cgroups) に関する統計を提供します。 次の表に、このビューのパラメーターを示します。
パラメーター
データ型
説明
subtypetext
cgroupの型。 有効な値: IO、メモリ、CPU。
infotypetext
cgroupに関する情報。
countbigint
使用されているリソースに関する統計。
説明polar_stat_cgroupビューは、
polar_monitor_preloadおよびpolar_monitorプラグインによって提供されます。 これらのプラグインは、PolarDB for PostgreSQL (Oracle互換) に組み込まれています。 プラグインをアクティブ化するには、create extension polar_monitor_preloadおよびcreate extension polar_monitorステートメントを実行します。polar_cgroup_クォータ
polar_cgroup_quotaは、システムリソースとcgroupクォータに関する統計を提供します。 次の表に、このビューのパラメーターを示します。
パラメーター
データ型
説明
subtypetext
cgroupの型。 有効な値: IO、メモリ、CPU。
infotypetext
cgroupsに関する情報。
countbigint
cgroupのクォータ。
説明polar_cgroup_quotaビューは、
polar_monitorプラグインによって提供されます。 このプラグインは、PolarDB for PostgreSQL (Oracle互換) に組み込まれています。 このプラグインを有効化するには、create extension polar_monitor文を実行します。