0

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

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

这些ALTER ROLE SET值保存在哪里?如果ALTER ROLE SET执行,是否保证如果服务器重新启动或 PITR'd 保持此更改?为什么来源不反映诸如“角色”之类的区分?

4

1 回答 1

0

此信息保存在pg_db_role_setting目录中。

因此,这些变化是持久的。

pg_settings将显示sourceas user,这是您需要的所有信息,因为它必须设置为current_user

于 2018-11-29T05:26:46.053 回答