温馨提示×

centos pgadmin如何设置权限

小樊
41
2026-10-12 00:45:16
栏目: 智能运维

在 CentOS 上设置 pgAdmin 的权限,需要先明确你说的是哪种场景,因为 pgAdmin 本身只是 PostgreSQL 的管理工具,真正的权限是在 PostgreSQL 里控制的,pgAdmin 只是界面。

下面按常见情况给你说明。


一、pgAdmin 登录权限(谁能进 pgAdmin)

1. pgAdmin 4(Web 模式)

如果你用的是 pgAdmin 4 Web 版(CentOS 常见):

  • 初始管理员账号在初始化时创建
  • 普通用户需要由管理员在 pgAdmin 里添加

添加用户:

sudo /usr/pgadmin4/bin/setup-web.sh

或在 Web 界面:

File → Preferences → User Management

⚠️ pgAdmin 用户 ≠ 数据库用户


二、PostgreSQL 数据库权限(重点)

pgAdmin 看到的权限,其实是 PostgreSQL 的权限。

1. 创建用户(角色)

CREATE ROLE dev_user WITH LOGIN PASSWORD '123456';

2. 授予数据库权限

GRANT CONNECT ON DATABASE mydb TO dev_user;

3. 授予 schema 权限

GRANT USAGE ON SCHEMA public TO dev_user;

4. 授予表权限

GRANT SELECT, INSERT, UPDATE ON ALL TABLES IN SCHEMA public TO dev_user;

5. 只读用户示例

CREATE ROLE readonly LOGIN PASSWORD 'pwd';
GRANT CONNECT ON DATABASE mydb TO readonly;
GRANT USAGE ON SCHEMA public TO readonly;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO readonly;

三、pgAdmin 中查看/设置权限

  1. 打开 pgAdmin
  2. 左侧树:
Servers → 数据库 → 角色 / 表
  1. 右键 表 / 角色 → Properties → Privileges
  2. 勾选对应权限(SELECT / INSERT / UPDATE 等)

四、CentOS 防火墙 & 远程权限(常见坑)

1. 允许远程连接

编辑:

vi /var/lib/pgsql/15/data/pg_hba.conf

添加:

host    all    all    0.0.0.0/0    md5

2. 修改监听

vi /var/lib/pgsql/15/data/postgresql.conf
listen_addresses = '*'

重启:

systemctl restart postgresql-15

五、总结一句话

pgAdmin 不存权限,PostgreSQL 才有权限
pgAdmin 只是“看”和“点”


如果你能告诉我:

  • pgAdmin 版本(3 / 4)
  • 是否 Web 模式
  • 想控制的是“人”还是“数据库对象”

我可以给你更精确的操作步骤。

0 踩