首页主机资讯pgadmin在ubuntu上如何设置权限

pgadmin在ubuntu上如何设置权限

时间2025-11-18 19:04:04发布访客分类主机资讯浏览817
导读:在 Ubuntu 上使用 pgAdmin 设置权限的完整步骤 一 前置准备 安装并启动 PostgreSQL 与 pgAdmin4,确保能在本机或浏览器访问 pgAdmin(常见为 http://服务器IP:5050)。 使用具有管理员权...

在 Ubuntu 上使用 pgAdmin 设置权限的完整步骤

一 前置准备

  • 安装并启动 PostgreSQLpgAdmin4,确保能在本机或浏览器访问 pgAdmin(常见为 http://服务器IP:5050)。
  • 使用具有管理员权限的账号(如 postgres)登录 pgAdmin,后续所有权限操作均通过该账号在 pgAdmin 中执行或验证。
  • 若需远程管理,先在 PostgreSQL 配置中开启监听和客户端认证(如修改 postgresql.conflisten_addressespg_hba.conf 的客户端规则),再重启数据库服务。

二 在 pgAdmin 中创建用户与角色

  • 打开左侧 Servers,连接到目标数据库实例。
  • 展开实例节点,进入 Login/Group Roles(登录/组角色),右键选择 Create → Login/Group Role…
  • General 填写名称;在 Definition 设置密码与可登录属性;在 Privileges 开关 Can login、必要时勾选 Superuser / Create DB 等;保存。
  • 重复以上步骤创建多个角色(如只读用户、应用用户等),后续通过“编辑”调整密码与属性。

三 授予数据库与模式权限

  • 授予数据库权限
    • 在左侧展开目标数据库,右键 Properties → Security → Privileges,新增条目选择目标角色,勾选需要的权限(如 CONNECT、CREATE、TEMPORARY),保存。
    • 或在 Query Tool 执行:
      • 授予连接:GRANT CONNECT ON DATABASE dbname TO role;
      • 授予全部(慎用):GRANT ALL PRIVILEGES ON DATABASE dbname TO role;
  • 回收公共默认权限(提高安全性)
    • 在目标数据库中执行:REVOKE CREATE ON SCHEMA public FROM public;
  • 授予模式权限
    • 在目标数据库中执行:GRANT USAGE ON SCHEMA schema_name TO role;
  • 授予表权限
    • 对现有表:GRANT SELECT/INSERT/UPDATE/DELETE ON ALL TABLES IN SCHEMA schema_name TO role;
  • 设置默认权限(对新对象自动生效)
    • 以对象属主(如 appuser)在目标数据库中执行:
      • ALTER DEFAULT PRIVILEGES IN SCHEMA schema_name GRANT USAGE ON SCHEMAS TO readonlyuser;
      • ALTER DEFAULT PRIVILEGES IN SCHEMA schema_name GRANT SELECT ON TABLES TO readonlyuser;
  • 只读用户快速示例(在目标数据库内执行)
    • CREATE USER readonlyuser WITH PASSWORD ‘******’;
    • GRANT CONNECT ON DATABASE appdb TO readonlyuser;
    • GRANT USAGE ON SCHEMA appuser TO readonlyuser;
    • GRANT SELECT ON ALL TABLES IN SCHEMA appuser TO readonlyuser;
    • appuser 身份执行默认权限,使后续新建表对只读用户自动只读。

四 验证与常见问题

  • 验证方式
    • 在 pgAdmin 中切换到新建角色,尝试连接目标数据库与访问指定 schema/表;或在 Query Tool 以该角色执行相应操作,确认权限是否生效。
  • 常见问题与处理
    • 新建用户连不上数据库:检查目标数据库是否授予了 CONNECT,以及 pg_hba.conf 是否允许该来源 IP/用户使用指定认证方式;必要时调整规则并重启数据库。
    • 新建用户看不到表:确认已对目标 schema 授予 USAGE,并对表授予相应 SELECT/INSERT/UPDATE/DELETE;若是新建表无权限,检查是否设置了正确的 ALTER DEFAULT PRIVILEGES(且应由对象属主设置)。
    • 权限不生效:在 pgAdmin 中执行 GRANT 后无需额外“应用”,如仍异常,复核对象属主、搜索路径 search_path 与是否使用了正确的数据库/模式上下文。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: pgadmin在ubuntu上如何设置权限
本文地址: https://pptw.com/jishu/750401.html
ubuntu中pgadmin版本怎么选 ubuntu如何备份pgadmin数据

游客 回复需填写必要信息