postgreSQL資料庫的監控及資料維護操作
阿新 • • 發佈:2021-01-08
目前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時為死鎖
以上為個人經驗,希望能給大家一個參考,也希望大家多多支援我們。如有錯誤或未考慮完全的地方,望不吝賜教。