温馨提示×

ubuntu pgadmin怎样管理角色

小樊
41
2026-10-03 18:23:57
栏目: 智能运维

在 Ubuntu 上使用 pgAdmin 管理 PostgreSQL 角色(用户/权限),一般可以按下面的步骤来做。


一、前提条件

  1. 已在 Ubuntu 上安装 PostgreSQL
    sudo apt install postgresql
    
  2. 已安装 pgAdmin(pgAdmin 4,通常为 Web 或桌面版)
  3. pgAdmin 已连接到 PostgreSQL 服务器

二、在 pgAdmin 中管理角色

1. 打开 pgAdmin 并连接服务器

  • 启动 pgAdmin
  • 在左侧 Servers 中展开你的 PostgreSQL 连接
  • 输入 postgres 超级用户密码(如有)

2. 查看已有角色

路径:

Servers
 └─ 你的服务器
    └─ Login/Group Roles

这里会列出所有角色(如 postgres、youruser 等)


3. 创建新角色(用户)

  1. 右键 Login/Group Roles
  2. 选择 Create → Login/Group Role
  3. 在弹窗中配置:

General

  • Name:角色名(如 appuser)

Definition

  • Password:设置密码
  • Account expires(可选)

Privileges

  • Can login:✅(如果是登录用户)
  • Superuser:❌(不建议)
  • Create databases:按需
  • Create roles:按需
  1. 点击 Save

4. 修改角色权限

  • 右键某个角色 → Properties
  • 可修改:
    • 密码
    • 登录权限
    • 数据库创建权限
    • 角色成员关系(Role membership)

5. 分配角色给其他角色(组权限)

在角色属性中:

Role membership
  • 添加其他角色
  • 勾选 Admin(是否可管理该角色)

6. 删除角色

  • 右键角色 → Delete/Drop
  • 若有对象依赖,需先转移或删除

三、使用 SQL 管理角色(pgAdmin 中也可用)

在 pgAdmin 的 Query Tool 中执行:

-- 创建用户
CREATE ROLE appuser WITH LOGIN PASSWORD '123456';

-- 赋予权限
ALTER ROLE appuser CREATEDB;

-- 授权数据库
GRANT ALL PRIVILEGES ON DATABASE mydb TO appuser;

-- 删除角色
DROP ROLE appuser;

四、常见问题

Q:无法登录 pgAdmin?
检查:

  • pg_hba.conf 是否允许连接
  • 角色是否 Can login
  • 密码是否正确

Q:角色看不到数据库?
需要:

GRANT CONNECT ON DATABASE dbname TO username;

如果你愿意,我可以:

  • 给你 Ubuntu 安装 pgAdmin 的完整命令
  • 讲 角色 vs 用户 vs 组 的区别
  • 帮你配置 远程访问角色权限

你现在是桌面版 pgAdmin 还是 Web 版?

0 踩