在CentOS上设置pgAdmin权限需结合PostgreSQL用户/角色管理,核心步骤如下:
安装pgAdmin
sudo yum install pgadmin4
创建专用用户
sudo adduser pgadmin
sudo passwd pgadmin
sudo -u postgres psql
CREATE ROLE pgadmin WITH LOGIN PASSWORD '密码' CREATEDB CREATEROLE;
配置数据库权限
GRANT ALL PRIVILEGES ON DATABASE 数据库名 TO pgadmin;
GRANT SELECT, INSERT, UPDATE ON 表名 TO pgadmin;
GRANT 角色名 TO 用户名;
配置访问控制
pg_hba.conf限制IP访问(如仅允许本地):sudo vi /var/lib/pgsql/data/pg_hba.conf
# 添加:host all pgadmin 127.0.0.1/32 md5
sudo systemctl restart postgresql
sudo firewall-cmd --add-port=5050/tcp --permanent
sudo firewall-cmd --reload
验证权限
通过pgAdmin登录后,检查“服务器→数据库→模式→表”的权限列表,或使用SQL命令:
\z 表名 # 查看表权限
\du # 查看用户/角色权限
注意:避免使用超级用户权限运行pgAdmin,优先通过角色分配最小必要权限,定期审计权限配置。