在 Ubuntu 上通过 pgAdmin 设置 PostgreSQL 权限,一般分两种场景:
下面分别说明。
# 启动 pgAdmin 后,首次访问会让你注册管理员邮箱和密码
如果你用 pgAdmin 4(Web 模式):
在 pgAdmin 中:
postgres 或某个库)⚠️ pgAdmin 本身不控制数据库权限,只控制“能否连进来”
权限是在 PostgreSQL 里设置的,pgAdmin 只是图形界面。
CREATE ROLE dev_user WITH LOGIN PASSWORD '123456';
GRANT CONNECT ON DATABASE mydb TO dev_user;
GRANT USAGE ON SCHEMA public TO dev_user;
GRANT SELECT, INSERT, UPDATE ON ALL TABLES IN SCHEMA public TO dev_user;
REVOKE DELETE ON ALL TABLES IN SCHEMA public FROM dev_user;
Databases → mydb → Schemas → public → Tables → 某表
GRANT CONNECT ON DATABASE mydb TO reader;
GRANT USAGE ON SCHEMA public TO reader;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO reader;
GRANT CONNECT, TEMP ON DATABASE mydb TO dev;
GRANT USAGE, CREATE ON SCHEMA public TO dev;
GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public TO dev;
ALTER ROLE admin_user SUPERUSER;
sudo nano /etc/postgresql/15/main/pg_hba.conf
示例(允许密码登录):
host all all 0.0.0.0/0 md5
改完重启:
sudo systemctl restart postgresql
如果你能告诉我:
我可以直接给你一套可复制的命令 + pgAdmin 操作步骤。