Postgresql
創建使用者以監視 Postgres 上的數據庫活動
Postgres 9.3 Debian 7
我想創建一個名為 monitor 的監控使用者,唯一的權限是執行查詢以監控所有數據庫活動。我創建了使用者,它可以從 pg_stat_activity 中選擇,問題是它只看到它自己的活動,我希望這個使用者看到所有使用者的活動。
有什麼特殊的特權可以這樣做嗎?
此時,只有超級使用者才能在 pg_stat_activity 中看到其他人的活動詳情。
PostgreSQL 可以使用更細粒度的權限模型,例如,您可以
GRANT
在其中MONITOR_QUERIES
授予使用者權限。但是現在它沒有,而且很多東西都是超級使用者專用的。這是其中之一。
我們可以創建一個普通使用者並提供預設
pg_monitor
角色來獲取所有監控指標。簡單兩步:創建使用者:
CREATE USER db_monitor WITH PASSWORD 'password';
授予要監控的角色:
GRANT pg_monitor TO db_monitor;
pg_monitor
:
- 該角色讀取/執行各種監控視圖和功能。
- 它是 pg_read_all_settings、pg_read_all_stats 和 pg_stat_scan_tables 角色的組合