postgreSQL數據庫的監控及數據維護操作
目前postgreSQL數據庫的管理,數據查詢等都需要安裝postgreSQL軟件或安裝pgadmin等,遠程訪問都需要先登錄到服務器等繁瑣的操作。如果是開發團隊,那麼每個開發,測試,管理人員都要經歷這個麻煩的過程。
使用Treesoft數據庫管理系統,基於web方式管理postgreSQL,隻需安裝一次,大傢直接通過瀏覽器使用,維護及監控數據庫,大大簡化工作量。
監控的指標包括:連接數,數據庫大小,表空間,鎖情況,QPS事務數等。
Treesoft數據庫管理系統,支持直接網絡在線維護數據,數據的新增、刪除、編輯,表結構的在線維護,在線備份還原等。更多強大的功能等待你的發掘。
補充:PostgreSQL數據庫性能監控手段之慢SQL、死鎖
之前接觸PostgreSQL數據庫甚少(此前經常使用mysql、db2),直至入職當前某安全公司後,發現數據庫都采用PostgreSQL,由於負責性能測試方向,經常需要診斷數據庫方面是否存在性能問題,於是整理瞭PostgreSQL設置慢SQL、查看死鎖等常用監控手段。
一、慢SQL設置步驟
1、筆者以工作中使用的docker為例,PostgreSQL版本為9.5:
PostgreSQL正常安裝成功後,在docker 的/var/lib/postgresql/9.5/main/postgresql.conf文件中,
添加以下信息,保存並重啟PostgreSQL數據庫。
#shared_preload_libraries = '' # (change requires restart) shared_preload_libraries = 'pg_stat_statements' pg_stat_statements.max = 1000 pg_stat_statements.track = top
2、在 PostgreSQL庫中執行以下SQL:
CREATE EXTENSION pg_stat_statements;
3、初始化信息(清除歷史監控信息):
select pg_stat_reset(); select pg_stat_statements_reset();
4、慢SQL查詢(TOP 10):
SELECT query, calls, total_time, (total_time/calls) as average ,rows, 100.0 * shared_blks_hit /nullif(shared_blks_hit + shared_blks_read, 0) AS hit_percent FROM pg_stat_statements ORDER BY average DESC LIMIT 10;
二、查看是否存在死鎖
在 PostgreSQL庫中執行以下SQL:
SELECT * FROM pg_stat_activity WHERE datname='數據庫名稱' and waiting='t';
註:waiting等於t時為死鎖
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。如有錯誤或未考慮完全的地方,望不吝賜教。
推薦閱讀:
- PostgreSQL 慢查詢SQL跟蹤操作
- postgresql 性能參數配置方式
- postgresql數據庫連接數和狀態查詢操作
- PostgreSQL用戶登錄失敗自動鎖定的處理方案
- 淺談pg_hint_plan定制執行計劃