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。如有錯誤或未考慮完全的地方,望不吝賜教。

推薦閱讀: