我們在RDS上使用Postgres 9.5,並有一個用例來在運行批量插入時關閉SQL日誌記錄。批量插入SQL語句很大,記錄日誌的好處不大,因爲我們知道它需要比我們設置的log_min_duration更多的時間。RDS Postgres更改SQL log_statement值
正如this post中提到的,我嘗試通過psql客戶端進行set_config。不幸的是我被拒絕了權限。通過psql登錄的用戶是rds_superuser的成員。
SELECT current_setting('log_statement');
┌─────────────────┐
│ current_setting │
├─────────────────┤
│ mod │
└─────────────────┘
(1 row)
SELECT set_config('log_statement', 'mod', false);
ERROR: 42501: permission denied to set parameter "log_statement"
LOCATION: set_config_option, guc.c:5804
爲什麼我們得到許可被拒絕任何想法,其次做鄉親們知道,如果它能夠在運行時更改此設置的Postgres上RDS
而'rds_superuser'爲您提供本地超級用戶權限(請查看例如'show is_superuser;')?因爲[「*僅超級用戶可以更改此設置*」](https://www.postgresql.org/docs/9.5/static/runtime-config-logging.html#GUC-LOG-STATEMENT)? – dhke
感謝@dhke,那是問題 - rds_superuser不會授予is_superuser。不知道這部分。 – sumit