全部產品
Search
文件中心

PolarDB:資料庫

更新時間:Jul 06, 2024

本章節主要介紹PolarDB PostgreSQL版(相容Oracle)中的不同視圖詳細資料,可通過查詢不同視圖擷取相關執行個體資訊,進而方便定位效能問題。

資料庫基本資料

  • pg_stat_database
    pg_stat_database視圖將顯示叢集中每一個資料庫中的每一行資料庫範圍的統計資訊。相關參數資訊如下表所示:
    參數類型描述
    datidoid資料庫OID。
    datnamename資料庫名稱。
    numbackendsinteger當前串連到資料庫的後端數量。這是在視圖中唯一一個返回反映目前狀態值的列。所有其他列返回從上次重設以來積累的值。
    xact_commitbigint資料庫中已經被提交的事務的數量。
    xact_rollbackbigint資料庫中已經被復原的事務的數量。
    blks_readbigint資料庫中被讀取的磁碟塊的數量。
    blks_hitbigint磁碟塊被發現已經在緩衝區中的次數,這樣不需要一次讀取(這隻包括PolarDB PostgreSQL版(相容Oracle)緩衝區中的命中,而不包括在作業系統檔案系統緩衝區中的命中)。
    tup_returnedbigint資料庫中被查詢返回的行數。
    tup_fetchedbigint資料庫中被查詢取出的行數。
    tup_insertedbigint資料庫中被查詢插入的行數。
    tup_updated bigint資料庫中被查詢更新的行數。
    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視圖將只有單獨的一行,包含叢集的全域資料。
    參數類型描述
    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_reset timestamp with time zone這些統計資訊上次被重設的時間。

活動狀態

  • polar_stat_activity
    描述所有進程的目前狀態,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將含有標識該輕量級鎖目的的名稱(一些鎖具有特定的名稱,其他是一組具有類似目的的鎖中的一部分)。
    • Lock:後端正在等待重量級鎖。重量級鎖,也稱為鎖管理器鎖或者簡單鎖,主要保護 SQL 可見的對象,例如表。不過,它們也被用於確保特定內部操作的互斥,例如關係擴充。wait_event將標識等待的鎖的類型。
    • BufferPin:伺服器處理序正在等待訪問資料緩衝區,而此時沒有其他進程正在檢查該緩衝區。如果另一個進程持有一個最終從要訪問的緩衝區中讀取資料的開啟的遊標,緩衝區 pin 等待可能會被拖延。
    • Activity:伺服器處理序處於閑置狀態。這被用於在其主處理迴圈中等待活動的系統進程。wait_event將標識特定的等待點。
    • Extension:伺服器處理序正在擴充模組中等待活動。這個分類被用於要跟蹤自訂等待點的模組。
    • Client伺服器處理序正在通訊端上等待來自使用者應用的某種活動,並且該伺服器預期某種與其內部處理無關的事情發生。wait_event將標識特定的等待點。
    • IPC伺服器處理序正在等待來自伺服器中另一個進程的某種活動。wait_event將標識特定的等待點。
    • Timeout伺服器處理序正在等待逾時發生。wait_event將標識特定的等待點。
    • IO伺服器處理序正在等待IO完成。wait_event將標識特定的等待點。
    wait_eventtext如果後端當前正在等待,則是等待事件的名稱,否則為 NULL。
    statetext目前狀態。
    backend_xidxid當前用戶端xid。
    backend_xminxid當前用戶端xmin。
    querytextSQL語句。
    backend_typetext當前backend類型。
    queryidbigintSQL唯一標識
    wait_objecttext如果有等待事件, 表示所等待的對象。
    wait_typetext如果有等待事件, 表示等待對象的類型。
    wait_time_msdouble如果有等待事件, 表示已經等待的時間。
    cpu_userbigint當前backend使用者態CPU。
    cpu_sysbigint當前backend系統態CPU。
    rssbigint當前backend記憶體佔用。
    pfs_read_psbigintpfs讀IO累計次數。
    pfs_write_psbigintpfs寫IO累計次數。
    pfs_read_throughputbigintpfs讀IO累計輸送量。
    pfs_write_throughputbigintpfs寫IO累計輸送量。
    pfs_read_latency_msdoublepfs讀IO延遲時間。
    pfs_write_latency_msdoublepfs寫IO延遲時間。
    local_read_psbigint本地檔案系統讀IO累計次數。
    local_write_psbigint本地檔案系統寫IO累計次數。
    local_read_throughputbigint本地檔案系統讀IO累計輸送量。
    local_write_throughputbigint本地檔案系統寫IO累計輸送量。
    local_read_latency_msdouble本地檔案系統讀IO延遲時間。
    local_write_latency_msdouble本地檔案系統寫IO延遲時間。
    等待事件類型描述
    等待事件類型等待事件名稱描述
    LWLockShmemIndexLock正等待在共用記憶體中尋找或者分配空間。
    OidGenLock正等待分配或者賦予OID。
    XidGenLock正等待分配或者賦予事務 ID。
    ProcArrayLock正等待在事務結尾得到快照或者清除事務 ID。
    SInvalReadLock正等待從共用無效訊息佇列中檢索或者移除訊息。
    SInvalWriteLock正等待在共用無效訊息佇列中增加訊息。
    WALBufMappingLock正等待在 WAL 緩衝區中替換頁面。
    WALWriteLock正等待 WAL 緩衝區被寫入到磁碟。
    ControlFileLock正等待讀取或者更新控制檔案或建立新的 WAL 檔案。
    CheckpointLock正等待執行檢查點。
    CLogControlLock正等待讀取或者更新事務狀態。
    SubtransControlLock正等待讀取或者更新子事務資訊。
    MultiXactGenLock正等待讀取或者更新共用多事務狀態。
    MultiXactOffsetControlLock正等待讀取或者更新多事務位移映射。
    MultiXactMemberControlLock正等待讀取或者更新多事務成員映射。
    RelCacheInitLock正等待讀取或者寫入關係緩衝區初始設定檔案。
    CheckpointerCommLock正等待管理 fsync 請求。
    TwoPhaseStateLock正等待讀取或者更新預備事務的狀態。
    TablespaceCreateLock正等待建立或者刪除資料表空間。
    BtreeVacuumLock正等待讀取或者更新B-樹索引的 vacuum 相關的資訊。
    AddinShmemInitLock正等待管理共用記憶體中的空間分配。
    AutovacuumLock自動清理工作者或者啟動器正等待更新或者讀取自動清理工作者的目前狀態。
    AutovacuumScheduleLock正等待確認選中進行清理的表仍需要清理。
    SyncScanLock正等待為同步掃描得到表上掃描的開始位置。
    RelationMappingLock正等待更新用來儲存目錄到檔案節點映射的關係對應檔。
    AsyncCtlLock正等待讀取或者更新共用通知狀態。
    AsyncQueueLock正等待讀取或者更新通知訊息。
    SerializableXactHashLock正等待檢索或者儲存有關可序列化事務的資訊。
    SerializableFinishedListLock正等待訪問已結束可序列化事務的列表。
    SerializablePredicateLockListLock正等待在由可序列化事務持有的所列表上執行操作。
    OldSerXidLock正等待讀取或者記錄衝突的可序列化事務。
    SyncRepLock正等待讀取或者更新有關同步複製的資訊。
    BackgroundWorkerLock正等待讀取或者更新後台工作者狀態。
    DynamicSharedMemoryControlLock正等待讀取或者更新動態共用記憶體狀態。
    AutoFileLock正等待更新postgresql.auto.conf檔案。
    ReplicationSlotAllocationLock正等待分配或者釋放複製槽。
    ReplicationSlotControlLock正等待讀取或者更新複製槽狀態。
    CommitTsControlLock正等待讀取或者更新事務提交時間戳記。
    CommitTsLock正等待讀取或者更新事務時間戳記的最新設定值。
    ReplicationOriginLock正等待設定、刪除或者使用複製源頭。
    MultiXactTruncationLock正等待讀取或者階段多事務資訊。
    OldSnapshotTimeMapLock正等待讀取或者更新舊的快照控制資訊。
    BackendRandomLock正等待產生隨機數。
    LogicalRepWorkerLock正等待邏輯複製工作者上的動作完成。
    CLogTruncationLock正等待截斷預寫式日誌或者等待預寫式日誌截斷操作完成。
    clog正在等地clog (事務狀態)緩衝區上的I/O。
    commit_timestamp正等待提交時間戳記緩衝區上的 I/O。
    subtrans正等待子事務緩衝區上的 I/O。
    multixact_offset正等待多事務位移緩衝區上的 I/O。
    multixact_member正等待多事務成員緩衝區上的 I/O。
    async正等待 async(通知)緩衝區上的 I/O。
    oldserxid正等待 oldserxid 緩衝區上的 I/O。
    wal_insert正等待把 WAL 插入到記憶體緩衝區。
    buffer_content正等待讀取或者寫入記憶體中的資料頁。
    buffer_io正等待一個資料頁面上的 I/O。
    replication_origin正等待讀取或者更新複製進度。
    replication_slot_io正等待覆制槽上的 I/O。
    proc正等待讀取或者更新 fast-path 鎖資訊。
    buffer_mapping正等待把資料區塊與緩衝池中的緩衝區關聯。
    lock_manager正等待增加或者檢查用於後端的鎖,或者正等待加入或者退出鎖定組(並行查詢使用)。
    predicate_lock_manager正等待增加或者檢查謂詞鎖資訊。
    parallel_query_dsa正等待並行查詢動態共用記憶體配置鎖。
    tbm正等待TBM共用迭代器鎖。
    parallel_append在Parallel Append計劃執行期間等待選擇下一個子計劃。
    parallel_hash_join在Parallel Hash計劃執行期間等待分配或交換一塊記憶體或者更新計數器。
    Lockrelation正等待獲得關係上的鎖。
    extend正等待擴充關係。
    page正等待獲得關係上的頁面的鎖。
    tuple正等待獲得元組上的鎖。
    transactionid正等待事務結束。
    virtualxid正等待獲得虛擬 xid 鎖。
    speculative token正等待擷取speculative insertion lock。
    object正等待獲得非關聯式資料庫對象上的鎖。
    userlock正等待獲得使用者鎖。
    advisory正等待獲得諮詢使用者鎖。
    BufferPinBufferPin正等待在緩衝區上加 pin。
    ActivityArchiverMain正在歸檔進程的主迴圈中等待。
    AutoVacuumMain正在autovacuum啟動器進程的主迴圈中等待。
    BgWriterHibernate正在後台寫入器進程中等待,休眠中。
    BgWriterMain正在後台寫入器進程的後台工作者的主迴圈中等待。
    CheckpointerMain正在檢查點進程的主迴圈中等待。
    LogicalApplyMain正在邏輯應用程式進程的主迴圈中等待。
    LogicalLauncherMain正在邏輯啟動器進程的主迴圈中等待。
    PgStatMain正在統計收集器進程的主迴圈中等待。
    RecoveryWalAll在恢複時等待來自於任意類型來源(本地、歸檔或流)的WAL。
    RecoveryWalStream在恢複時等待來自於流的WAL。
    SysLoggerMain正在系統日誌進程的主迴圈中等待。
    WalReceiverMain正在WAL接收器進程的主迴圈中等待。
    WalSenderMain正在WAL發送器進程的主迴圈中等待。
    WalWriterMain正在WAL寫入器進程的主迴圈中等待。
    ClientClientRead正等待從用戶端讀取資料。
    ClientWrite正等待向用戶端寫入資料。
    LibPQWalReceiverConnect正在WAL接收器中等待建立與遠程伺服器的串連。
    LibPQWalReceiverReceive正在WAL接收器中等待從遠程伺服器接收資料。
    SSLOpenServer正在嘗試串連期間等待SSL。
    WalReceiverWaitStart正等待startup進程發送流複製的初始資料。
    WalSenderWaitForWAL正在WAL發送器進程中等待WAL被刷寫。
    WalSenderWriteData在WAL發送器進程中處理來自WAL接收器的回複時等待任意活動。
    ExtensionExtension正在擴充中等待。
    IPCBgWorkerShutdown正等待後台工作者關閉。
    BgWorkerStartup正等待後台工作者啟動。
    BtreePage正等待繼續並行B-樹掃描所需的頁號變得可用。
    ClogGroupUpdate正等待組領袖在事務結束時更新事務狀態。
    ExecuteGather在執行Gather節點時等待來自子進程的活動。
    Hash/Batch/Allocating正等待選出的Parallel Hash參與者分配雜湊表。
    Hash/Batch/Electing正在選出Parallel Hash參與者來分配雜湊表。
    Hash/Batch/Loading正等待其他Parallel Hash參與者完成裝載雜湊表。
    Hash/Build/Allocating正等待選出的Parallel Hash參與者分配初始雜湊表。
    Hash/Build/Electing正在選出Parallel Hash參與者以分配初始雜湊表。
    Hash/Build/HashingInner正等待其他Parallel Hash參與者完成對內關係的雜湊操作。
    Hash/Build/HashingOuter正等待其他Parallel Hash參與者完成對外關係的雜湊操作。
    Hash/GrowBatches/Allocating正等待選出的Parallel Hash參與者分配更多批次。
    Hash/GrowBatches/Deciding正在選出Parallel Hash參與者決定未來的批次增長。
    Hash/GrowBatches/Electing正在選出Parallel Hash參與者分配更多批次。
    Hash/GrowBatches/Finishing正在等待選出的Parallel Hash參與者決定未來的批次增長。
    Hash/GrowBatches/Repartitioning正等待其他Parallel Hash參與者完成重新分區。
    Hash/GrowBuckets/Allocating正等待選出的Parallel Hash參與者完成更多桶的分配。
    Hash/GrowBuckets/Electing正在選出Parallel Hash參與者分配更多桶。
    Hash/GrowBuckets/Reinserting正等待其他Parallel Hash參與者完成將元組插入到新桶的操作。
    LogicalSyncData正等待邏輯複製的遠程伺服器發送用於初始表同步的資料。
    LogicalSyncStateChange正等待邏輯複製的遠程伺服器更改狀態。
    MessageQueueInternal正等待其他進程被掛接到共用訊息佇列。
    MessageQueuePutMessage正等待把協議訊息寫到共用訊息佇列。
    MessageQueueReceive正等待從共用訊息佇列接收位元組。
    MessageQueueSend正等待向共用訊息佇列中發送位元組。
    ParallelBitmapScan正等待並行位元影像掃描被初始化。
    ParallelCreateIndexScan正等待並行CREATE INDEX工作者完成堆掃描。
    ParallelFinish正等待並行工作者完成計算。
    ProcArrayGroupUpdate正等待組領袖在事務結束時清除事務ID。
    ReplicationOriginDrop正等待覆制源頭變得不活躍以便被刪除。
    ReplicationSlotDrop正等待覆制槽變得不活躍以便被刪除。
    SafeSnapshot正等待用於READ ONLY DEFERRABLE事務的快照。
    SyncRep正在同步複製期間等待來自遠程伺服器的確認。
    TimeoutBaseBackupThrottle當有限流活動時在基礎備份期間等待。
    PgSleep正在調用pg_sleep的進程中等待。
    RecoveryApplyDelay在恢複時等待應用WAL,因為它被延遲了。
    IOBufFileRead正等待從緩衝的檔案中讀取。
    BufFileWrite正等待向緩衝的檔案中寫入。
    ControlFileRead正等待從控制檔案中讀取。
    ControlFileSync正等待控制檔案到達穩定儲存。
    ControlFileSyncUpdate正等待對控制檔案的更新到達穩定儲存。
    ControlFileWrite正等待對控制檔案的寫入。
    ControlFileWriteUpdate正等待寫操作更新控制檔案。
    CopyFileRead正在檔案拷貝操作期間等待讀操作。
    CopyFileWrite正在檔案拷貝操作期間等待寫操作。
    DataFileExtend正等待關係資料檔案被擴充。
    DataFileFlush正等待關係資料檔案到達穩定儲存。
    DataFileImmediateSync正等待關係資料檔案的立即同步到達穩定儲存。
    DataFilePrefetch正等待從關係資料檔案中的一次非同步預取。
    DataFileRead正等待對關係資料檔案的讀操作。
    DataFileSync正等待對關係資料檔案的更改到達穩定儲存。
    DataFileTruncate正等待關係資料檔案被截斷。
    DataFileWrite正等待對關係資料檔案的寫操作。
    DSMFillZeroWrite等待向動態共用記憶體備份檔案中寫零位元組。
    LockFileAddToDataDirRead在向資料目錄鎖檔案中增加一行時等待讀操作。
    LockFileAddToDataDirSync在向資料目錄鎖檔案中增加一行時等待資料到達穩定儲存。
    LockFileAddToDataDirWrite在向資料目錄鎖檔案中增加一行時等待寫操作。
    LockFileCreateRead在建立資料目錄鎖檔案期間等待讀取。
    LockFileCreateSync在建立資料目錄鎖檔案期間等待資料到達穩定儲存。
    LockFileCreateWrite在建立資料目錄鎖檔案期間等待寫操作。
    LockFileReCheckDataDirRead在重新檢查資料目錄鎖檔案的過程中等待讀操作。
    LogicalRewriteCheckpointSync在檢查點期間等待邏輯重寫映射到達穩定儲存。
    LogicalRewriteMappingSync在邏輯重寫期間等待映射資料到達穩定儲存。
    LogicalRewriteMappingWrite在邏輯重寫期間等待對映射資料的寫操作。
    LogicalRewriteSync正等待邏輯重寫映射到達穩定儲存。
    LogicalRewriteWrite正等待對邏輯重寫映射的寫操作。
    RelationMapRead正等待對關係對應檔的讀操作。
    RelationMapSync正等待關係對應檔到達穩定儲存。
    RelationMapWrite正等待對關係對應檔的寫操作。
    ReorderBufferRead在重排序緩衝區管理期間等待讀操作。
    ReorderBufferWrite在重排序緩衝區管理期間等待寫操作。
    ReorderLogicalMappingRead在重排序緩衝區管理期間等待對邏輯映射的讀操作。
    ReplicationSlotRead正等待對一個複製槽控制檔案的讀操作。
    ReplicationSlotRestoreSync在把複製槽控制檔案恢複到記憶體的過程中等待它到達穩定儲存。
    ReplicationSlotSync正等待覆制槽控制檔案到達穩定儲存。
    ReplicationSlotWrite正等待對複製槽控制檔案的寫操作。
    SLRUFlushSync在檢查點或者資料庫關閉期間等待SLRU資料到達穩定儲存。
    SLRURead正等待對SLRU頁面的讀操作。
    SLRUSync正等待SLRU資料在頁面寫之後到達穩定儲存。
    SLRUWrite正等待SLRU頁面上的寫操作。
    SnapbuildRead正等待序列化歷史目錄快照的讀操作。
    SnapbuildSync正等待序列化歷史目錄快照到達穩定儲存。
    SnapbuildWrite正等待序列化歷史目錄快照的寫操作。
    TimelineHistoryFileSync正等待通過流複製接收到的時間軸歷史檔案到達穩定儲存。
    TimelineHistoryFileWrite正等待通過流複製接收到的時間軸歷史檔案的讀操作。
    TimelineHistoryRead正等待時間軸歷史檔案上的讀操作。
    TimelineHistorySync正等待新建立的時間軸歷史檔案達到穩定儲存。
    TimelineHistoryWrite正等待新建立的時間軸歷史檔案上的寫操作。
    TwophaseFileRead正等待兩階段狀態檔案的讀操作。
    TwophaseFileSync正等待兩階段狀態檔案到達穩定儲存。
    TwophaseFileWrite正等待兩階段狀態檔案的寫操作。
    WALBootstrapSync在自舉期間等待WAL到達穩定儲存。
    WALBootstrapWrite在自舉期間等待WAL頁面的寫操作。
    WALCopyRead在通過拷貝已有WAL段建立新的WAL段時等待一個讀操作。
    WALCopySync正等待通過拷貝已有WAL段建立的新WAL段到達穩定儲存。
    WALCopyWrite在通過拷貝已有WAL段建立新的WAL段時等待寫操作。
    WALInitSync正等待新初始化的WAL檔案到達穩定儲存。
    WALInitWrite在初始化新的WAL檔案期間等待寫操作。
    WALRead正等待對WAL檔案的讀操作。
    WALSenderTimelineHistoryRead在walsender的時間軸命令期間等待對時間軸歷史檔案的讀操作。
    WALSyncMethodAssign在指派WAL同步方法時等待資料到達穩定儲存。
    WALWrite正等待對WAL檔案的寫操作。
    說明 polar_stat_activity視圖依賴於polar_monitor外掛程式,其中該外掛程式在安裝PolarDB PostgreSQL版(相容Oracle)資料庫後已預設存在,但需執行create extension polar_monitor命令使其生效。
  • polar_stat_activity_rt
    描述所有進程的目前狀態, polar_stat_activity_rt視圖統計的是即時資料。
    參數類型描述
    pidinteger進程ID。
    backend_typetext當前backend類型。
    cpu_userbigint當前backend使用者態CPU。
    cpu_sysbigint當前backend系統態CPU。
    rssbigint當前backend記憶體佔用。
    local_read_psbigint本地檔案系統讀IO累計次數。
    local_write_psbigint本地檔案系統寫IO累計次數。
    local_read_throughputbigint本地檔案系統讀IO累計輸送量。
    local_write_throughputbigint本地檔案系統寫IO累計輸送量。
    local_read_latency_msdouble本地檔案系統讀IO延遲時間。
    local_write_latency_msdouble本地檔案系統寫IO延遲時間。
    說明 polar_stat_activity_rt視圖依賴於polar_monitor外掛程式,其中該外掛程式在安裝PolarDB PostgreSQL版(相容Oracle)資料庫後已預設存在,但需執行create extension polar_monitor命令使其生效。
  • polar_delta
    重要 polar_delta是一個函數,用於擷取視圖的增量值,依賴於polar_monitor外掛程式。其中該外掛程式在安裝PolarDB PostgreSQL版(相容Oracle)資料庫後已預設存在,但需執行create extension polar_monitor命令使其生效。
    使用說明如下:
    1. 建立具有維度列和值列的視圖。
      • 維度列名稱必須以d開頭。
      • 值列名稱必須以v開頭。
    2. 使用以下方法擷取視圖:
      "select * from polar_delta (NULL::view_name)"
      "\watch 1 select * from polar_delta (NULL::view_name)"
                                  

資源

  • CPU

    會話層級的CPU指標已在polar_stat_activity視圖中體現。

  • 共用記憶體

    PolarDB的buffer pool和latch等其它全域資料結構,均分配於共用記憶體中,它在啟動時即靜態申請完成,通過查看如下視圖可擷取相關資訊。

    • polar_stat_shmem

      描述各類共用記憶體的監控資訊。相關參數說明如下表所示:
      參數類型描述
      shmnametext共用記憶體地區名。
      shmsizebigint共用記憶體大小(位元組數)。
      shmtypetext共用記憶體類型。
      說明 polar_stat_shmem視圖依賴於polar_monitor外掛程式,其中該外掛程式在安裝PolarDB PostgreSQL版(相容Oracle)資料庫後已預設存在,但需執行create extension polar_monitor命令使其生效。
    • polar_stat_shmem_total_size

      描述共用記憶體的監控匯總資訊。相關參數說明如下表所示:
      參數類型描述
      shmsizebigint共用記憶體大小(位元組數)。
      shmtypetext共用記憶體類型。
      說明 polar_stat_shmem_total_size視圖依賴於polar_monitor外掛程式,其中該外掛程式在安裝PolarDB PostgreSQL版(相容Oracle)資料庫後已預設存在,但需執行create extension polar_monitor使其生效。
  • 會話私人記憶體

    PolarDB的私人記憶體均在運行過程中動態分配或釋放,其中會話層級的記憶體指標已經在polar_stat_activity中體現,更進一步,PolarDB中會使用記憶體上下文作為動態記憶體管理的基本單位,可以通過查看以下函數及視圖擷取。

    • polar_get_mcxt()函數
      參數類型描述
      pidinteger會話進程pid。
      nametextmemory context名稱。
      levelint層級。
      nblocksbigint佔用block數量。
      freechunksbigint空閑block數量。
      totalspacebigint總空間(位元組數)。
      freespacebigint空閑空間(位元組數)。
    • polar_backends_mcxt

      按照backend_type為粒度,統計記憶體上下文資訊。相關參數說明如下表所示:
      參數類型描述
      pidinteger進程ID。
      nametextmemory context名稱。
      nblocksbigint佔用block數量。
      freechunksbigint空閑block數量。
      totalspacebigint總空間(位元組數)。
      freespacebigint空閑空間(位元組數)。
      說明 polar_backends_mcxt視圖依賴於polar_monitor外掛程式,其中該外掛程式在安裝PolarDB PostgreSQL版(相容Oracle)資料庫後已預設存在,但需執行create extension polar_monitor命令使其生效。
  • I/O

    會話層級的I/O指標已經在polar_stat_activity中體現,檔案層級的I/O資訊及I/O延遲分布可以通過查詢以下視圖擷取。

    • polar_stat_io_info
      按照檔案類型為維度,描述I/O監控資訊。相關參數說明如下表所示:
      參數類型描述
      filetypetext檔案類型。
      fileloctext檔案所在檔案系統(目前有本地檔案系統和共用檔案系統PFS兩種形式)。
      open_countnumeric檔案開啟總次數。
      open_latency_usdouble檔案開啟總延遲。單位:微秒。
      close_countnumeric檔案關閉總次數。
      read_countnumeric讀檔案總次數。
      write_countnumeric寫檔案總次數。
      read_throughputnumeric讀檔案總吞吐。
      write_throughputnumeric寫檔案總吞吐。
      read_latency_usdouble讀檔案總延遲 。單位:微秒。
      write_latency_usdouble寫檔案總延遲。單位:微秒。
      seek_countnumericseek總次數。
      seek_latency_usdoubleseek總延遲。
      creat_countnumeric建立檔案總次數。
      creat_latency_usdouble建立檔案總延遲。
      fsync_countnumericfsync總次數。
      fsync_latency_usdoublefsync總延遲。
      falloc_countnumericfalloc總次數。
      falloc_latency_usdoublefalloc總延遲。
      說明 polar_stat_io_info視圖依賴於polar_monitor外掛程式,其中該外掛程式在安裝PolarDB PostgreSQL版(相容Oracle)資料庫後已預設存在,但需執行create extension polar_monitor命令使其生效。
    • polar_stat_io_latency
      按照I/O類型為維度,統計I/O延時資訊。相關參數說明如下表所示:
      參數類型描述
      iokindtext檔案操作類型:fsync creat seekopenreadwritefalloc
      num_lessthan200usnumeric小於200微秒總次數。
      num_lessthan400usnumeric大於200微秒小於400微秒總次數。
      num_lessthan600usnumeric大於400微秒小於600微秒總次數。
      num_lessthan800usnumeric大於600微秒小於800微秒總次數。
      num_lessthan1msnumeric大於800微秒小於1毫秒總次數。
      num_lessthan10msnumeric大於1毫秒小於10毫秒總次數。
      num_lessthan100msnumeric大於10毫秒小於100毫秒總次數。
      num_morethan100msnumeric大於100毫秒總次數。
      說明 polar_stat_io_latency視圖依賴於polar_monitor外掛程式。其中該外掛程式在安裝PolarDB PostgreSQL版(相容Oracle)資料庫後已預設存在,但需執行create extension polar_monitor命令使其生效。
  • 網路

    您可以通過查詢本文描述的視圖來擷取網路監控資訊。

    • polar_proc_stat_network()函數
      參數類型描述
      pidbigint進程pid。
      send_bytesbigint累計發送位元組數。
      send_countbigint累計發送次數。
      recv_bytesbigint累計接收位元組數。
      recv_countbigint累計接收次數。
      sendqbigintsocket發送隊列長度。
      recvqbigintsocket接收隊列長度。
      cwndbigintsocket滑動視窗大小。
      rttbigintTCP估算的網路rtt時間,單位:微秒。
      retransbigint累計重傳次數。
      tcpinfo_update_timebigintTCP socket相關監控資訊的最新動向時間。實際為秒級時間戳記,原則上每秒更新一次,上述sendqrecvqcwndrttretrans指標會定期更新,更新時間為tcpinfo_update_time
    • polar_stat_network
      描述網路監控資訊摘要資料。相關參數資訊如下:
      參數類型描述
      send_countbigint發送總次數。
      send_bytesbigint發送總位元組數。
      recv_countbigint接收總次數。
      recv_bytesbigint接收總位元組數。
      retransbigint總重傳次數。
      說明 polar_stat_network視圖依賴於polar_monitor外掛程式。其中該外掛程式在安裝PolarDB PostgreSQL版(相容Oracle)資料庫後已預設存在,但需執行create extension polar_monitor命令使其生效。
  • 您可以通過本文描述的視圖來擷取相關鎖資訊。

    • LWLock

      polar_stat_lwlock

      latch監控資訊統計。相關參數資訊如下:
      參數類型描述
      tranchesmallintlwlock ID
      nametext鎖名稱。
      sh_acquire_countbigint共用擷取總次數。
      ex_acquire_countbigint排它擷取總次數。
      block_countbigint擷取阻塞總次數。
      lock_nums bigintlwlock個數。
      wait_timebigint總等待時間。
      說明 polar_stat_lwlock視圖依賴於polar_monitor_preload外掛程式,其中該外掛程式在安裝PolarDB PostgreSQL版(相容Oracle)資料庫後已預設存在,但需執行create extension polar_monitor_preload命令使其生效。
    • Lock
      • pg_locks
        參數類型描述
        locktypetext可鎖對象的類型: relation, extend, page, tuple, transactionid, virtualxid, object, userlock或advisory。
        databaseoid鎖目標存在的資料庫的OID。如果目標是共用對象則為0,如果目標是事務ID則為空白。
        relationoid作為鎖目標的關係的OID。如果目標不是關係或者只是關係的一部分,則值為空白。
        pageinteger作為鎖目標的頁在關係中的頁號。如果目標不是關係頁或元組,則值為空白。
        tuplesmallint作為鎖目標的元組在頁中的元組號。如果目標不是元組,則值為空白。
        virtualxidtext作為鎖目標的事務虛擬ID。如果目標不是虛擬事務ID,則值為空白。
        transactionidxid作為鎖目標的事務ID。如果目標不是事務ID,則值為空白ID。
        classidoid包含鎖目標的系統目錄的OID。如果目標不是普通資料庫物件,則值為空白。
        objidoid鎖目標在它的系統目錄中的OID。如果目標不是普通資料庫物件,則為空白。
        objsubidsmallint鎖的目標列號(classid和objid指表本身)。如果目標是某種其他普通資料庫物件,則值為0。如果目標不是普通資料庫物件,則值為空白。
        virtualtransactiontext保持鎖或者正在等待鎖的事務的虛擬ID。
        pidinteger保持鎖或者正在等待鎖的伺服器處理序的PID。如果此鎖被預備事務所持有,則值為空白。
        modetext此進程已持有或者希望持有的鎖模式。
        grantedboolean如果鎖已授予則為真。如果鎖被等待則為假。
        fastpathboolean如果鎖通過快速路徑獲得則為真。通過主鎖表獲得則為假。
      • polar_stat_lock
        統計鎖資訊。相關參數資訊如下:
        參數類型描述
        idinteger主鍵。
        lock_typetext鎖類型。
        invalidnumeric無意義。
        accesssharelocknumericaccess share lock鎖次數。
        rowsharelocknumericrow share lock鎖次數。
        rowexclusivelocknumericrow exclusive lock鎖次數。
        shareupdateexclusivelocknumericshare update exclusive lock鎖次數。
        sharelocknumericshare lock鎖次數。
        sharerowexclusivelocknumericshare row exclusive lock鎖次數。
        exclusivelock numericexclusive lock鎖次數。
        accessexclusivelock numericaccess exclusive lock鎖次數。
        block_count numeric鎖阻塞次數。
        fastpath_count numeric本地快速鎖次數。
        wait_time numeric鎖等待時間。
        說明 polar_stat_lock視圖依賴於polar_monitor_preload外掛程式,其中該外掛程式在安裝PolarDB PostgreSQL版(相容Oracle)資料庫後已預設存在,但需執行create extension polar_monitor_preload命令使其生效。
  • Slru

    您可以通過查詢 polar_stat_slru() 視圖來擷取相關slru監控資訊。

    polar_stat_slru()

    統計slru監控資訊。相關參數資訊如下:
    參數類型描述
    slru_typetext主鍵
    slots_numberintegerpage數量。
    valid_pagesinteger使用page數。
    empty_pagesinteger空page數。
    reading_pagesinteger正在讀的page數。
    writing_pagesinteger正在寫的page數。
    wait_readingsinteger等待讀數量。
    wait_writingsinteger等待寫數量。
    read_countbigintread次數。
    read_only_countbigintread only次數。
    read_upgrade_countbigint升級讀次數。
    victim_countbigint直接淘汰次數。
    victim_write_countbigint淘汰落盤次數。
    write_countbigint寫次數。
    zero_countbigint清零次數。
    flush_countbigintflush次數。
    truncate_countbiginttruncate次數。
    storage_read_countbigint讀儲存次數。
    storage_write_countbigint寫儲存次數。
    說明 polar_stat_slru視圖依賴於polar_monitor外掛程式。其中該外掛程式在安裝PolarDB PostgreSQL版(相容Oracle)資料庫後已預設存在,但需執行create extension polar_monitor命令使其生效。
  • cgroup

    您可以通過查詢本文描述的視圖來擷取相關係統資源資訊。

    • polar_stat_cgroup

      統計各類系統資源、cgroup資訊。相關參數說明如下表所示:

      參數類型描述
      subtypetextcgroup類型(IO、Memory、CPU)。
      infotypetextcgroup資訊。
      countbigint計數。
      說明 polar_stat_cgroup視圖依賴於polar_monitor_preloadpolar_monitor外掛程式,其中polar_monitor_preloadpolar_monitor外掛程式在安裝PolarDB PostgreSQL版(相容Oracle)資料庫後已預設存在,但需分別執行create extension polar_monitor_preloadcreate extension polar_monitor命令使其生效。
    • polar_cgroup_quota
      統計各類系統資源、cgroup配額資訊。相關參數說明如下表所示:
      參數類型描述
      subtypetextcgroup類型(IO、Memory、CPU)。
      infotypetextcgroup資訊。
      countbigint限額帶下。
      說明 polar_cgroup_quota視圖依賴於polar_monitor外掛程式,其中該外掛程式在安裝PolarDB PostgreSQL版(相容Oracle)資料庫後已預設存在,但需執行create extension polar_monitor命令使其生效。