我想要做的是用不同的用户登录同一个PostgreSQL数据库。我需要做到这一点,因为一些情况,我不打算在这里描述(太长时间)。
初试
我读过关于PostgreSQL角色的文档页面。因此,我创建了两个用户并从一个用户继承到另一个用户的权限。
CREATE ROLE odoo WITH LOGIN CREATEDB REPLICATION PASSWORD 'odoo' NOINHERIT;
CREATE ROLE odoo_inherit WITH LOGIN CREATEDB REPLICATION PASSWORD 'odoo_inherit' INHERIT;
GRANT odoo TO odoo_inherit;其结果是:
Role name | Attributes | Member of
-----------------+------------------------------------------+-----------
odoo | No inheritance, Create DB, Replication | {}
odoo_inherit | Create DB, Replication | {odoo}二次尝试
我试过伪造PostgreSQL角色,但我不能从Odoo登录:
ALTER USER odoo_inherit SET ROLE odoo;事实上,当我使用角色odoo_inherit创建一个表时,新表的新所有者是odoo
结果
odoo角色拥有的数据库对于Odoo中的odoo_inherit用户是不可见的。但是,我可以使用以下psql命令登录数据库
psql -U odoo_inherit -d dbname -W有办法做到这一点吗?这是奥多的限制吗?我有遗漏什么吗?
注意:,我试过了,因为这是另一个所以问题的答案
发布于 2018-06-17 15:03:24
您可以在星展(force=False):中,确切地在WHERE子句中更改这一点。
https://stackoverflow.com/questions/50872329
复制相似问题