PostgreSQL10.0preview功能增強-動態檢視pg_stat_activity新增資料庫管理程式資訊
標籤
PostgreSQL , 10.0 , pg_stat_activity , 管理程式 , 後臺程式 , 工作程式 , 平行計算程式
背景
PostgreSQL為程式模型,啟動時、啟動後會fork一些管理程式,以及使用者連線時會產生使用者的服侍程式。
例如
1. postmaster,負責監聽
2. startup程式,負責recovery
3. logger, 負責寫日誌
4. shared buffer writer,負責通過LRU演算法刷髒頁,持久化資料檔案
5. wal buffer writer,負責將WAL寫入WAL日誌檔案
6. checkpointer,負責檢查點任務
7. stats process,負責收集統計資訊,更新計數器計數(query 消耗資源統計、表插入記錄數、更新記錄數、刪除記錄數、deadtuple 等等)。
8. autovacuum launcher,負責監控表的年齡,垃圾比例,觸動閾值時喚醒vacuum worker進行垃圾回收,更新表的統計資訊(用於執行計劃成本計算的統計資訊,pg_stats)。
9. autovacuum worker,自動垃圾回收的工作程式。
10. 平行計算worker process,當執行平行計算任務時的工作程式。
11. wal sender,作為上游節點時,流複製訊息傳送程式。
12. wal receiver,作為下游節點是,流複製訊息接收程式。
13. 其他worker process,其他外掛開發的工作程式。
14. user backend process,使用者程式。
以前的版本,資料庫的管理程式都不會被展示出來,10.0擴充套件了pg_stat_activity檢視的功能,增加了一個程式型別欄位,所有程式的資訊都會被展示。
方便管理員觀察資料庫的執行狀態。
+ <row>
+ <entry><structfield>backend_type</structfield></entry>
+ <entry><type>text</type></entry>
+ <entry>Type of current backend. Possible types are
+ <literal>autovacuum launcher</>, <literal>autovacuum worker</>,
+ <literal>background worker</>, <literal>background writer</>,
+ <literal>client backend</>, <literal>checkpointer</>,
+ <literal>startup</>, <literal>walreceiver</>,
+ <literal>walsender</> and <literal>walwriter</>.
+ </entry>
+ </row>
patch資訊如下
Show more processes in pg_stat_activity.
Previously, auxiliary processes and background workers not connected
to a database (such as the logical replication launcher) weren`t
shown. Include them, so that we can see the associated wait state
information. Add a new column to identify the processes type, so that
people can filter them out easily using SQL if they wish.
Before this patch was written, there was discussion about whether we
should expose this information in a separate view, so as to avoid
contaminating pg_stat_activity with things people might not want to
see. But putting everything in pg_stat_activity was a more popular
choice, so that`s what the patch does.
Kuntal Ghosh, reviewed by Amit Langote and Michael Paquier. Some
revisions and bug fixes by me.
Discussion: http://postgr.es/m/CA+TgmoYES5nhkEGw9nZXU8_FhA8XEm8NTm3-SO+3ML1B81Hkww@mail.gmail.com
這個patch的討論,詳見郵件組,本文末尾URL。
PostgreSQL社群的作風非常嚴謹,一個patch可能在郵件組中討論幾個月甚至幾年,根據大家的意見反覆的修正,patch合併到master已經非常成熟,所以PostgreSQL的穩定性也是遠近聞名的。
參考
相關文章
- PostgreSQL10.0preview功能增強-客戶端ACL(pg_hba.conf動態檢視)SQLView客戶端
- PostgreSQL10.0preview功能增強-JSON內容全文檢索SQLViewJSON
- PostgreSQL10.0preview功能增強-自由定義統計資訊維度SQLView
- PostgreSQL10.0preview功能增強-國際化功能增強,支援ICU(InternationalComponentsforUnicode)SQLViewUnicode
- PostgreSQL10.0preview功能增強-增加ProcArrayGroupUpdate等待事件SQLView事件
- 檢視資料庫中各表資訊資料庫
- 檢視各項Oracle資料庫資訊Oracle資料庫
- 檢視映象資料庫的狀態資料庫
- PostgreSQL10.0preview功能增強-OLAP增強向量聚集索引(列儲存擴充套件)SQLView索引套件
- PostgreSQL10.0preview功能增強-CLOGoldestXID跟蹤SQLViewGo
- PostgreSQL10.0preview功能增強-邏輯複製支援並行COPY初始化資料SQLView並行
- PostgreSQL10.0preview功能增強-後臺執行(pg_background)SQLView
- OracleRAC管理 之 叢集狀態&資訊檢視Oracle
- ORACLE資料庫檢視ACQ(ACTIVE CHECKPOINT QUEUE)資訊Oracle資料庫
- 如何檢視資料庫中的授權資訊資料庫
- Oracle12c功能增強 新特性之管理功能的增強Oracle
- PostgreSQL10.0preview效能增強-hashindexmetapagecache、高併發增強SQLViewIndex
- 2 Day DBA-管理Oracle例項-管理資料庫儲存結構-檢視資料檔案資訊Oracle資料庫
- 如何檢視資料庫當前的狀態?資料庫
- Oracle資料庫檢視使用者狀態Oracle資料庫
- 轉OracleRAC管理 之 叢集狀態&資訊檢視Oracle
- 轉 OracleRAC管理 之 叢集狀態&資訊檢視Oracle
- 資料庫檢視資料庫
- 資料庫-檢視資料庫
- 動態新增子檢視 UIView 的正確方法UIView
- 檢視資料庫版本與補丁的版本資訊資料庫
- 通過連線檢視資料庫相關資訊資料庫
- Oracle學習系列—資料庫結構—Mount階段動態檢視Oracle資料庫
- 資料字典和動態效能檢視基礎
- PostgreSQL10.0preview功能增強-觸發器函式內建中間表SQLView觸發器函式
- PostgreSQL10.0preview功能增強-更強可靠性,過去式事務狀態可查(杜絕unknown事務)SQLView
- DG備庫手動管理 新增資料檔案
- GBase8s 資料庫檢視狀態資料庫
- srvctl新增資料庫資訊報錯資料庫
- PostgreSQL10.0preview功能增強-兩段式索引(約束欄位+附加欄位)SQLView索引
- PostgreSQL10.0preview功能增強-邏輯訂閱端控制引數解說SQLView
- 叢集資料庫重要檔案的檢視管理資料庫
- MySQL資料庫檢視:檢視定義、建立檢視、修改檢視MySql資料庫