首先是简短版本:
是否可以SET ROLE
通过特定角色自动调用新的 PostgreSQL 数据库连接,无论是通过连接角色上的配置(使用ALTER ROLE
),还是通过连接 URI 末尾的选项?
更长,结合上下文:
我正在设置一个 Web 应用程序以使用轮换数据库凭据(因此,有多种角色在发挥作用)。但是,这些凭据还用于对数据库进行修改(通过 Rails 迁移),这意味着表将由不打算长期存在的角色拥有。
我可以修改轮换凭据,以便它们继承父角色(本身无法登录),然后通过SET ROLE
所有数据库修改都归父角色所有,而不是短期子角色。这解决了所有权问题,但它需要调用每个连接SET ROLE parent
- 不太可行。
因此,我需要某种方法来确保每个子连接始终在父角色的上下文中运行。这可能吗?