温馨提示×

Ubuntu中pgAdmin用户管理操作指南

小樊
33
2025-12-31 17:39:41
栏目: 智能运维

Ubuntu 中 pgAdmin 用户管理操作指南

一 概念与准备

  • 明确对象:区分 Linux 系统用户PostgreSQL 角色/用户pgAdmin 登录账户。pgAdmin 是管理 PostgreSQL 的图形工具,真正决定数据库权限的是 PostgreSQL 的角色/用户与 pg_hba.conf 认证配置。
  • 准备环境:确保已安装 PostgreSQLpgAdmin4。桌面版可直接 apt 安装;服务器版常用 WEB 模式,执行 sudo /usr/pgadmin4/bin/setup-web.sh 初始化并设置 pgAdmin 管理员主密码,访问 http://服务器IP:5050 登录。
  • 连接信息:默认端口 5432;在 pgAdmin 中添加服务器时填写主机、端口、维护数据库(常用 postgres)、用户名与密码。

二 在 pgAdmin 中管理 PostgreSQL 用户与角色

  • 登录与定位:以 pgAdmin 管理员登录,左侧展开 Servers → 目标服务器 → Login/Group Roles,右键可创建、编辑或删除角色/用户。
  • 新建登录/角色:设置 名称密码、是否允许登录(Can login)、是否为超级用户(Superuser)、可创建数据库(Create DB)、可创建角色(Create Role)等;保存后生效。
  • 授予数据库权限:展开 Databases → 目标数据库 → Privileges,选择目标角色,勾选权限(如 CONNECT、CREATE、TEMPORARY),保存;必要时在 Schemas → public → Privileges 授予模式权限,在 Tables/Sequences 授予对象级权限。
  • 常用图形化操作:创建用户/角色、编辑属性、删除对象;多数变更即时生效,如需批量或精确控制,可在 Query Tool 执行相应 GRANT/REVOKE 语句。

三 命令行快速操作与验证

  • 切换与登录:执行 sudo su - postgres 进入数据库维护环境,运行 psql 连接数据库。
  • 创建与授权示例:
    • 创建受限用户:CREATE USER alice WITH PASSWORD ‘StrongPass!’;
    • 授予数据库权限:GRANT ALL PRIVILEGES ON DATABASE sales TO alice;
    • 授予模式与对象权限(按需):
      • GRANT USAGE ON SCHEMA public TO alice;
      • GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public TO alice;
      • GRANT USAGE, SELECT ON ALL SEQUENCES IN SCHEMA public TO alice;
      • 使后续新建表自动继承权限:ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO alice;
  • 查看与改密:
    • 查看角色:\du
    • 修改密码:\password alice
  • 删除用户:DROP USER alice;(如提示被占用,先终止会话或更换连接用户)
  • 验证:在 pgAdmin 以 alice 连接目标数据库,尝试访问表或执行操作,确认权限是否按预期生效。

四 认证与安全配置

  • 配置文件位置:PostgreSQL 认证由 pg_hba.conf 控制,常见路径如 /etc/postgresql/<版本>/main/pg_hba.conf
  • 典型条目示例:
    • 本地信任:local all all trust
    • 内网口令:host all all 10.0.0.0/24 md5
  • 变更生效:修改后执行 sudo service postgresql restartsudo systemctl restart postgresql,并可用 ss -nlt | grep 5432 检查端口监听。
  • 安全建议:
    • 仅开放必要网段与认证方式(优先 md5/scram-sha-256),避免使用 trust 暴露公网。
    • pgAdmin 设置强密码并限制管理访问来源;服务器模式默认端口 5050,必要时配合反向代理与 TLS。

五 常见问题与排错

  • 新建用户连不上:检查 pg_hba.conf 是否允许对应用户/网段的 md5/scram-sha-256 认证,并重启数据库;确认监听端口 5432 正常。
  • 权限不足:在目标 Database/Schema/TablePrivileges 中为目标角色授予所需权限;必要时使用 ALTER DEFAULT PRIVILEGES 为后续对象预设权限。
  • 无法删除用户:当前会话占用导致,先断开该用户会话或切换到其他管理员账户再执行 DROP USER
  • 忘记 postgres 密码:以 postgres 系统用户进入 psql,执行 ALTER USER postgres WITH PASSWORD ‘NewPass’; 更新密码。

0