在PgSQL新建表时报错:PostgreSQL ERROR: permission denied for schema public

1,485 阅读1分钟

本人最近刚开始进行PostgreSQL的学习,由于有MySQL的经验,我直接就创建了一个用户和数据库,然后我开始创建表,于是就遇到了问题,PostgreSQL ERROR: permission denied for schema public,看Error肯定是权限的问题,在网上搜索一番,解决方案鱼龙混杂,最后发现是专属于PostgreSQL 15版本中公共模式权限更改的问题。在此,我通过这篇博客与大家分享我的解决方法,希望可以帮到大家。

再阐述一下问题

在PostgreSQL 15版本之前,公共模式(PUBLIC schema)的默认权限较为宽松,任何用户都可以在公共模式中创建表。然而,这一行为在PostgreSQL 15中得到了限制,现在只有数据库所有者才能在公共模式中创建对象。

解决方案

在命令行用postgre用户连接数据库后,只需输入以下代码:

GRANT ALL ON SCHEMA public TO your_user_name;

是的,我就这一行就好了。