このトピックでは、PolarDB for PostgreSQL (Compatible with Oracle) のビューについて説明します。 ビューをクエリしてインスタンスの詳細を取得できます。 これは、パフォーマンスの問題のトラブルシューティングに役立ちます。
基本インスタンス情報
pg_stat_データベース
pg_stat_databaseビューには、クラスターの各インスタンスの各行に関する統計が表示されます。 次の表に、このビューのパラメーターを示します。
パラメーター
データ型
説明
datid
oid
データベースのオブジェクト識別子 (OID) 。
datname
name
データベース名。
numbackends
integer
データベースに接続されているバックエンドサーバーの数。 ビューでは、この列は現在のステータスを返す唯一の列です。 他の列は、最後にリセットされた値から始まる累積値を返す。
xact_commit
bigint
データベースでコミットされたトランザクションの総数。
xact_rollback
bigint
データベースでロールバックされたトランザクションの総数。
blks_read
bigint
データベースで物理的に読み取られたディスクブロックの総数。
blks_hit
bigint
バッファ内でヒットしたディスクブロックの数。 ディスクブロックを読み取る必要はありません。 キャッシュヒット数は、PolarDB for PostgreSQL (Compatible with Oracle) バッファ内のヒットのみを示します。 OSのファイルシステムバッファのヒットは無視される。
tup_returned
bigint
データベース内のクエリによって返される行数。
tup_fetched
bigint
データベース内のクエリによって取得された行数。
tup_inserted
bigint
クエリによってデータベースに挿入された行数。
tup_updated
bigint
データベース内のクエリによって更新された行数。
tup_deleted
bigint
データベース内のクエリによって削除された行数。
conflicts
bigint
読み取り専用ノードのリプレイの競合の回復によりキャンセルされたクエリの数。
temp_files
bigint
データベース内のクエリによって作成された一時ファイルの数。 すべての一時ファイルは、ファイルが作成された理由や
log_temp_files
の設定に関係なくカウントされます。temp_bytes
bigint
データベース内のクエリによって一時ファイルに書き込まれたデータの合計量。 すべての一時ファイルは、ファイルが作成された理由や
log_temp_files
の設定に関係なくカウントされます。deadlocks
bigint
データベースで検出されたデッドロックの数。
blk_read_time
double precision
バックエンドサーバーがデータベース内のデータファイルを読み取るために費やした時間。 (単位: ミリ秒)
blk_write_time
double precision
バックエンドサーバーがデータベースにデータファイルを書き込むために費やした時間。 (単位: ミリ秒)
stats_reset
timestamp with time zone
統計がリセットされた最新の時刻。
pg_stat_bgwriter
pg_stat_bgwriterビューには1行のみが含まれます。 この行には、クラスターのグローバルデータが含まれます。
パラメーター
データ型
説明
checkpoints_timed
bigint
実行されたチェックポイントの数。
checkpoints_req
bigint
実行された、要求されたチェックポイントの数。
checkpoint_write_time
double precision
チェックポイント中にファイルをディスクに書き込むのに費やされた時間。 (単位: ミリ秒)
checkpoint_sync_time
double precision
チェックポイント中にファイルをディスクに同期させるのに費やされた時間。 (単位: ミリ秒)
buffers_checkpoint
bigint
チェックポイント中に書き込まれるバッファの数。
buffers_clean
bigint
バックグラウンド・ライタ・プロセスによって占有されるバッファの数。
maxwritten_clean
bigint
大量のデータが一度に書き込まれるため、バックグラウンド書き込みプロセスがクリーニングスキャンを停止する回数。
buffers_backend
bigint
バックエンドによって直接書き込まれるバッファの数。
buffers_backend_fsync
bigint
バックエンドがバックグラウンドライタープロセスの代わりにfsync呼び出しを実行した回数。 ほとんどの場合、バックエンドが書き込み操作を実行する場合でも、バックグラウンド書き込みプロセスは書き込み操作を処理します。
buffers_alloc
bigint
割り当てられたバッファの数。
stats_reset
timestamp with time zone
統計が最後にリセットされた時刻。
活動ステータス
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_type
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が返されます。
state
text
プロセスのステータス。
backend_xid
xid
クライアントのトランザクション識別子 (XID) 。
backend_xmin
xid
クライアントのxmin値。
query
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_throughput
bigint
PFSの書き込みスループットの累積合計。
pfs_read_latency_ms
double
PFSでの読み取り操作のレイテンシ。
pfs_write_latency_ms
double
PFSでの書き込み操作のレイテンシ。
local_read_ps
bigint
ローカルファイルシステムでの読み取り操作の累積合計。
local_write_ps
bigint
ローカルファイルシステムに対する書き込み操作の累積合計。
local_read_throughput
bigint
ローカルファイルシステムの読み取りスループットの累積合計。
local_write_throughput
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
プログラムは、共有メモリ内のスペース割り当てを管理するために待機しています。
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
プログラムは、アドバイザリーユーザーロックを取得するために待機しています。
BufferPin
BufferPin
プログラムはバッファを固定するのを待っている。
Activity
ArchiverMain
プログラムはアーカイブプロセスのメインループで待機しています。
AutoVacuumMain
プログラムは、自動真空ランチャープロセスのメインループで待機しています。
BgWriterHibernate
インスタンスが休止状態にある間、プログラムはバックグラウンドライタープロセスで待機しています。
BgWriterMain
プログラムは、バックグラウンドワーカープロセスのバックグラウンドワーカーのメインループで待機しています。
CheckpointerMain
プログラムは、チェックポインタプロセスのメインループで待機しています。
LogicalApplyMain
プログラムは論理適用プロセスのメインループで待機しています。
LogicalLauncherMain
プログラムは論理ランチャープロセスのメインループで待機しています。
PgStatMain
プログラムは統計収集プロセスのメインループで待機しています。
RecoveryWalAll
プログラムは、インスタンスの復元中に、ローカルファイル、アーカイブファイル、ストリームなどのソースからのWALデータを待機しています。
RecoveryWalStream
プログラムは、インスタンスが復元されている間、ストリームからのWALデータを待っています。
SysLoggerMain
プログラムはsyslogプロセスのメインループで待機しています。
WalReceiverMain
プログラムは、WAL受信機プロセスのメインループで待機している。
WalSenderMain
プログラムはWAL送信プロセスのメインループで待機しています。
WalWriterMain
プログラムはWALライタープロセスのメインループで待機しています。
Client
ClientRead
プログラムはクライアントからデータを読み取るのを待っています。
ClientWrite
プログラムはクライアントにデータを書き込むのを待っています。
LibPQWalReceiverConnect
プログラムは、リモートサーバに接続するためにWAL受信機プロセスで待機している。
LibPQWalReceiverReceive
プログラムは、リモートサーバからデータを受信するために、WAL受信機プロセスにおいて待機している。
SSLOpenServer
接続が確立されている間、プログラムはSSLを待っています。
WalReceiverWaitStart
プログラムは、起動プロセスがストリーミング複製用の初期データを送信するのを待っています。
WalSenderWaitForWAL
プログラムは、WAL送信プロセスでWALデータがフラッシュされるのを待っている。
WalSenderWriteData
プログラムは、WAL受信機からの応答がWAL送信機プロセスで処理されている間に生じる活動を待っている。
Extension
Extension
プログラムは拡張機能で待機しています。
IPC
BgWorkerShutdown
プログラムはバックグラウンドワーカーがシャットダウンするのを待っています。
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
プログラムは、同期レプリケーション中にリモートサーバーからの確認を待っています。
Timeout
BaseBackupThrottle
プログラムは、スロットリングアクティビティが進行中である間、ベースバックアップフェーズで待機しています。
PgSleep
プログラムはpg_sleep関数を呼び出すプロセスで待機しています。
RecoveryApplyDelay
WALの適用が遅れるため、データが復元されている間、プログラムはWALの適用を待機しています。
IO
BufFileRead
プログラムは、バッファリングされたファイルからデータを読み取るのを待っています。
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ビューは、すべてのプロセスのステータスのリアルタイムデータを提供します。
パラメーター
データ型
説明
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_throughput
bigint
ローカルファイルシステムの読み取りスループットの累積合計。
local_write_throughput
bigint
ローカルファイルシステムの書き込みスループットの累積合計。
local_read_latency_ms
double
ローカルファイルシステムでの読み取り操作のレイテンシ。
local_write_latency_ms
double
ローカルファイルシステムでの書き込み操作のレイテンシ。
説明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ビューは、各タイプの共有メモリに関する詳細なモニタリング情報を提供します。 次の表に、このビューのパラメーターを示します。
パラメーター
タイプ
説明
shmname
text
共有メモリの名前。
shmsize
bigint
共有メモリのサイズ。 (単位: バイト)
shmtype
text
共有メモリのタイプ。
説明polar_stat_shmemビューは、
polar_monitor
プラグインによって提供されます。 このプラグインは、PolarDB for PostgreSQL (Oracle互換) に組み込まれています。 このプラグインを有効化するには、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 (Oracle互換) に組み込まれています。 このプラグインを有効化するには、create extension polar_monitor
文を実行します。
セッション専用メモリ
PolarDBのプライベートメモリは、実行プロセス中に動的に割り当てられ、解放されます。 セッションレベルのメモリメトリクスは、polar_stat_activityビューに表示されます。 コンテキスト依存メモリは、PolarDBの動的メモリ管理の基本単位であり、次の関数とビューを表示することで取得できます。
polar_get_mcxt() 関数
パラメーター
データ型
説明
pid
integer
セッションプロセスのID。
name
text
コンテキスト依存メモリの名前。
level
int
コンテキスト依存メモリのレベル。
nblocks
bigint
占有されているブロックの数。
freechunks
bigint
フリーブロックの数。
totalspace
bigint
総メモリ。 (単位: バイト)
freespace
bigint
空きメモリ。 (単位: バイト)
polar_backends_mcxt
polar_backends_mcxtビューは、backend_typeによってグループ化されたコンテキスト依存メモリに関する情報を提供します。 次の表に、このビューのパラメーターを示します。
パラメーター
データ型
説明
pid
integer
プロセスのID。
name
text
コンテキスト依存メモリの名前。
nblocks
bigint
占有されているブロックの数。
freechunks
bigint
フリーブロックの数。
totalspace
bigint
総メモリ。 (単位: バイト)
freespace
bigint
空きメモリ。 (単位: バイト)
説明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リクエストに関するモニタリング情報を提供します。 次の表に、このビューのパラメーターを示します。
パラメーター
データ型
説明
filetype
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 (Oracle互換) に組み込まれています。 このプラグインを有効化するには、create extension polar_monitor
文を実行します。polar_stat_io_レイテンシ
polar_stat_io_latencyビューは、I/Oタイプごとにグループ化されたI/Oレイテンシ情報を提供します。 次の表に、このビューのパラメーターを示します。
パラメーター
データ型
説明
iokind
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 (Oracle互換) に組み込まれています。 このプラグインを有効化するには、create extension polar_monitor
文を実行します。
ネットワーク
次の関数とビューを照会して、ネットワーク監視情報を取得できます。
polar_proc_stat_network() 関数
パラメーター
データ型
説明
pid
bigint
プロセスのID。
send_bytes
bigint
送信された合計バイト数。
send_count
bigint
送信回数の累積値。
recv_bytes
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_bytes
bigint
インバウンドトラフィックの量。 (単位: バイト)
retrans
bigint
データが再送信される回数。
説明polar_stat_networkビューは、
polar_monitor
プラグインによって提供されます。 このプラグインは、PolarDB for PostgreSQL (Oracle互換) に組み込まれています。 このプラグインを有効化するには、create extension polar_monitor文を実行します。
ロック
ロック情報を取得するには、次のビューを照会します。
LWLock
polar_stat_lwlock
polar_stat_lwlockビューは、ロックに関するモニタリング情報を提供します。 次の表に、このビューのパラメーターを示します。
パラメーター
データ型
説明
tranche
smallint
ロックのID。
name
text
ロックの名前。The name of the lock.
sh_acquire_count
bigint
システムが共有ロックを取得した回数。
ex_acquire_count
bigint
システムが排他ロックを取得した回数。
block_count
bigint
発生したブロックの数。
lock_nums
bigint
軽量ロックの数。
wait_time
bigint
総ロック待ち時間。
説明polar_stat_lwlockビューは、
polar_monitor_preload
プラグインによって提供されます。 このプラグインは、PolarDB for PostgreSQL (Oracle互換) に組み込まれています。 このプラグインをアクティブ化するには、create extension polar_monitor_preloadステートメントを実行します。ロック
pg_locks
パラメーター
データ型
説明
locktype
text
ロック可能なオブジェクトの型。 有効な値: relation、extend、page、tuple、transactionid、virtualxid、object、userlock、advisory。
database
oid
ロックするオブジェクトが存在するデータベースのOID。 オブジェクトが共有オブジェクトの場合、値は0です。 オブジェクトがXIDの場合、値はNULLです。
relation
oid
ロックされるリレーションのOID。 ロックされるオブジェクトがリレーションでないか、リレーションの一部にすぎない場合、値はNULLになります。
page
integer
リレーション内でロックされるページのページ番号。 ロックされるオブジェクトがタプルまたはリレーションページでない場合、値はNULLになります。
tuple
smallint
ページ内でロックされるタプルのタプル番号。 ロックされるオブジェクトがタプルでない場合、値はNULLです。
virtualxid
text
ロックするトランザクションの仮想ID。 ロックされるオブジェクトが仮想XIDでない場合、値はNULLです。
transactionid
xid
ロックするトランザクションのID。 ロックされるオブジェクトがXIDでない場合、値はNULLです。
classid
oid
ロックするオブジェクトを含むシステムカタログのOID。 オブジェクトが一般的なデータベースオブジェクトでない場合、値はNULLです。
objid
oid
システムカタログ内でロックされるオブジェクトのID。 オブジェクトが一般的なデータベースオブジェクトでない場合、値はNULLです。
objsubid
smallint
ロックする列のID。 classidおよびobjidの値は、テーブル自体を参照します。 ロックされるオブジェクトが他の一般的なデータベースオブジェクトである場合、値は0である。 オブジェクトが一般的なデータベースオブジェクトでない場合、値はNULLです。
virtualtransaction
text
ロックを保持している、またはロックを待っているトランザクションの仮想ID。
pid
integer
ロックを保持している、またはロックを待っているサーバープロセスのID。 このロックが準備済みトランザクションによって保持されている場合、値はNULLになります。
mode
text
このプロセスで保持されている、または必要なロックモードの名前。
granted
Boolean
ロックが保持されている場合、値はtrueです。 ロックが待機されている場合、値はfalseです。
fastpath
Boolean
高速パスを使用してロックを取得した場合、値はtrueになります。 ロックがメインロックテーブルから取得された場合、値はfalseになります。
polar_stat_lock
polar_stat_lockビューはロック統計を提供します。 次の表に、このビューのパラメーターを示します。
パラメーター
データ型
説明
id
integer
テーブルの主キー。
lock_type
text
ロックのタイプ。
invalid
numeric
ロックが無効であることを示します。
accesssharelock
numeric
アクセスシェアロックの数。
rowsharelock
numeric
ROW SHAREロックの数。
rowexclusivelock
numeric
ROW EXCLUSIVEロックの数。
shareupdateexclusivelock
numeric
SHARE UPDATE EXCLUSIVEロックの数。
sharelock
numeric
SHAREロックの数。
sharerowexclusivelock
numeric
SHARE ROW EXCLUSIVEロックの数。
exclusivelock
numeric
排他的ロックの数。
accessexclusivelock
numeric
ACCESS EXCLUSIVEロックの数。
block_count
numeric
ロックによって発生したブロックの数。
fastpath_count
numeric
ローカルシステム上の高速パスロックの数。
wait_time
numeric
ロックの待ち時間。
説明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_type
text
テーブルの主キー。
slots_number
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 (Oracle互換) に組み込まれています。 このプラグインを有効化するには、create extension polar_monitor
文を実行します。cgroup
次のビューを照会して、システムリソースに関する情報を取得できます。
polar_stat_cgroup
polar_stat_cgroupは、システムリソースと制御グループ (cgroups) に関する統計を提供します。 次の表に、このビューのパラメーターを示します。
パラメーター
データ型
説明
subtype
text
cgroupの型。 有効な値: IO、メモリ、CPU。
infotype
text
cgroupに関する情報。
count
bigint
使用されているリソースに関する統計。
説明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クォータに関する統計を提供します。 次の表に、このビューのパラメーターを示します。
パラメーター
データ型
説明
subtype
text
cgroupの型。 有効な値: IO、メモリ、CPU。
infotype
text
cgroupsに関する情報。
count
bigint
cgroupのクォータ。
説明polar_cgroup_quotaビューは、
polar_monitor
プラグインによって提供されます。 このプラグインは、PolarDB for PostgreSQL (Oracle互換) に組み込まれています。 このプラグインを有効化するには、create extension polar_monitor
文を実行します。