我们在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