📅  最后修改于: 2023-12-03 15:39:58.265000             🧑  作者: Mango
在 PostgreSQL 数据库中,由于权限限制,数据库所有者可能会发现无法创建新表,并会收到以下错误消息:
ERROR: permission denied for schema public
SQL state: 42501
这是因为数据库所有者需要在自己名下的模式中进行操作,而在 public 模式下并没有足够的权限进行表的创建。
为了解决此问题,我们可以按照以下步骤操作:
使用管理员账户登录 PostgreSQL 数据库。
创建一个新的模式,并将其赋予所有者的权限:
CREATE SCHEMA example_schema AUTHORIZATION owner;
CREATE TABLE example_schema.example_table (
id SERIAL PRIMARY KEY,
name TEXT
);
GRANT SELECT, INSERT, UPDATE, DELETE ON example_schema.example_table TO someuser;
上述步骤中,我们使用了 CREATE SCHEMA 命令来创建一个新的模式,并使用 AUTHORZATION 选项将其指定为数据库所有者。然后我们在新的模式中创建了一个新的表,并使用 GRANT 命令将访问权限授予其他用户。
通过以上操作,数据库所有者可以成功创建新表及授予访问权限。
希望本篇介绍能解决您在 PostgreSQL 数据库中遇到的问题。