You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker部署PostgreSQL遇public schema权限拒绝错误求解决

解决PostgreSQL权限拒绝问题

问题根源

  1. 你创建了retail_user用户,但却将数据库权限授予了未创建的testing用户,权限对象不匹配;
  2. 仅授予数据库层面的权限不足以在默认的public schema下创建表,还需要单独授予schema的创建权限。

修复步骤

步骤1:进入PostgreSQL容器的命令行

执行以下命令,以超级用户postgres身份进入容器内的psql环境:

docker exec -it retail_pg psql -U postgres

步骤2:根据目标用户修正权限(二选一)

选项A:使用retail_user执行建表脚本

在psql中执行以下SQL:

-- 修正数据库权限的授予对象
GRANT ALL PRIVILEGES ON DATABASE retail_db TO retail_user;
-- 授予public schema的建表权限
GRANT CREATE ON SCHEMA public TO retail_user;

退出psql后,执行建表脚本:

docker exec -it retail_pg psql -U retail_user -d retail_db -f /data/create_db_tables_pg.sql

选项B:使用testing执行建表脚本

先在psql中创建testing用户并完成授权:

-- 创建testing用户(替换your_password为实际密码)
CREATE USER testing WITH ENCRYPTED PASSWORD 'your_password';
-- 授予数据库权限
GRANT ALL PRIVILEGES ON DATABASE retail_db TO testing;
-- 授予public schema的建表权限
GRANT CREATE ON SCHEMA public TO testing;

退出psql后,执行建表脚本:

docker exec -it retail_pg psql -U testing -d retail_db -f /data/create_db_tables_pg.sql

内容的提问来源于stack exchange,提问作者FalloutATS21

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 14:50:42