无法访问postgres中的架构

fumotvh3  于 2021-07-26  发布在  Java
关注(0)|答案(1)|浏览(311)

假设我在postgres中实现了db的“简单”实现

postgres=# CREATE ROLE my_role;
           CREATE DATABASE my_db;
           GRANT ALL ON DATABASE my_db TO my_role;
           CREATE SCHEMA my_schm AUTHORIZATION my_role;

然后我想做一张table:

postgres=#CREATE TABLE IF NOT EXIST my_db.my_schm.table(...);

出现以下错误: cross-database references are not implemented: "my_db.my_schm.table" 之后,我尝试创建连接到db的表(即。 \c my_db )出现以下错误:

schema "my_schm"does not exist

因此,我不理解这些错误的行为,假设角色拥有对db的所有权限(是的,我也尝试使用 SET ROLE my_role; )但当我要求在我的数据库中显示模式时,我的模式确实不存在,但在postgres中确实存在。有人能解释一下为什么会这样吗?以及如何在我的\u schm中对表进行分组?

i2byvkas

i2byvkas1#

架构只存在于一个数据库中,并且是在当前数据库中创建的:您已经在中创建了架构 postgres 数据库不在 mydb .
你需要先连接到 mydb 以便在中创建架构 mydb 数据库。

相关问题