首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RDS Postgres更改SQL log_statement值

RDS Postgres更改SQL log_statement值
EN

Stack Overflow用户
提问于 2017-09-01 10:08:19
回答 1查看 2.1K关注 0票数 4

我们在RDS上使用Postgres 9.5,并在运行大容量插入时使用用例关闭SQL日志记录。Bulk insert SQL语句很大,并且记录它的好处不大,因为我们知道它将比我们的set log_min_duration花费更多的时间。

正如在这个职位中提到的,我尝试通过psql客户机执行set_config。不幸的是我被拒绝了。通过psql登录的用户是rds_superuser的成员。

代码语言:javascript
复制
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

关于为什么我们被拒绝许可的想法吗?第二,人们知道在RDS上postgres中是否可以在运行时更改此设置。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-01 10:26:05

RDS使用一个不同的权限模型来创建vanilla,因此rds_superuser角色实际上并不拥有“真正”超级用户所拥有的所有权限。实际上,RDS是一种“托管”数据库托管解决方案,完全访问将使您具有破坏或破坏管理的能力。相反,这个角色被授予特定权限的列表

对于大多数配置,您必须使用亚马逊所称的"参数群",这是通过AWS控制台或API管理的。

Postgres RDS中的日志记录上有一个特定的页面,其中给出了一些使用参数组设置log_statement选项的示例。

这意味着您不能在数据库连接中动态更改设置,例如在pl/pgsql函数中,但是可以使用AWS API官方CLI客户端将其作为批处理作业的一部分进行更改。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45997894

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档