1. 程式人生 > 資料庫 >postgreSQL資料庫的監控及資料維護操作

postgreSQL資料庫的監控及資料維護操作

目前postgreSQL資料庫的管理,資料查詢等都需要安裝postgreSQL軟體或安裝pgadmin等,遠端訪問都需要先登入到伺服器等繁瑣的操作。如果是開發團隊,那麼每個開發,測試,管理人員都要經歷這個麻煩的過程。

使用Treesoft資料庫管理系統,基於web方式管理postgreSQL,只需安裝一次,大家直接通過瀏覽器使用,維護及監控資料庫,大大簡化工作量。

監控的指標包括:連線數,資料庫大小,表空間,鎖情況,QPS事務數等。

postgreSQL資料庫的監控及資料維護操作

Treesoft資料庫管理系統,支援直接網路線上維護資料,資料的新增、刪除、編輯,表結構的線上維護,線上備份還原等。更多強大的功能等待你的發掘。

postgreSQL資料庫的監控及資料維護操作

補充: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時為死鎖

以上為個人經驗,希望能給大家一個參考,也希望大家多多支援我們。如有錯誤或未考慮完全的地方,望不吝賜教。