ALTER ROLE SET设置位置

时间:2018-11-28 23:18:59

标签: postgresql psql postgresql-10 postgresql-11

我一直在阅读有关设置PG参数的文档。我了解postgresql.confpostgresql.auto.conf的行为,尤其是对于ALTER SYSTEM变体和这些群集范围默认值的SUPERUSER要求。

我最近遇到ALTER ROLE SET,它允许普通用户设置USER上下文设置并对其进行持久化(更改在下一次登录时首次看到,仅在登录时才更新)。这些值正确地不会出现在上面的.conf文件中-但是必须将它们保存在某个位置,因为它们会保留到以后的会话中。 pg_settings确实反映了登录后设置列中的更改,但是源仍然是用户,因此无法断定它来自ROLE上的持久值,而不是某些会话持续时间设置。

这些ALTER ROLE SET值保存在哪里?如果执行ALTER ROLE SET,是否可以保证服务器重新启动还是PITR保留此更改?为何来源没有反映出类似于“角色”这样的区别?

1 个答案:

答案 0 :(得分:0)

此信息保存在pg_db_role_setting目录中。

因此,这些更改是持久的。

pg_settings会将source显示为user,这是您需要的所有信息,因为必须在current_user上进行设置。