当前位置:

首页 > postgresql创建用户的方法及密码权限配置教程

postgresql创建用户的方法及密码权限配置教程

Navicat for PostgreSQL 12 简体中文版
Navicat for PostgreSQL 12 简体中文版

一款易于使用的图形化 PostgreSQL 数据库开发工具。从编写简单的 SQL 查询到开发复杂的数据库,Navicat for PostgreSQL 都能迎合大部份用户的需要,包括 PostgreSQL 初学者以及经验丰富的开发人员。它能连接任何本地或远程 PostgreSQL 服务器,并支持 Amazon

立即下载
¥198
2026-08-22
数据管理 数据库 本月促销

学习如何使用 Navicat for PostgreSQL 和 SQL 命令创建数据库用户。教程涵盖设置登录密码、授予 CONNECT 和 USAGE 权限、配置表读写及序列访问权,以及处理新表自动授权的最佳实践,确保数据库访问安全合规。

在 PostgreSQL 中,所谓的“用户”本质上是一个具备登录属性的数据库角色。创建一个可用的业务账号,不仅仅是设定用户名和密码,更需要精确控制它能连接哪个数据库、访问哪个 Schema,以及对哪些表执行何种操作。下面将以 Navicat for PostgreSQL 作为图形化管理工具,配合可执行的 SQL 语句,演示如何创建一个标准的普通业务用户 app_reader 并完成其权限配置。请根据实际环境替换示例中的名称和密码。

postgresql创建用户的方法及密码权限配置教程

Navicat 连接成功后的主界面,左侧为对象树,右侧为查询编辑器窗口

关于管理员连接准备

在执行任何创建或授权操作前,必须使用具有足够权限的管理员账号(如 postgres)登录数据库。打开 Navicat for PostgreSQL,新建或选择一个已有的服务器连接,填写主机地址、端口、初始数据库及管理员凭据。测试连接成功后,双击进入该连接。

在左侧对象树中,展开目标服务器节点,找到需要配置用户的目标数据库。右键点击该数据库,选择“新建查询”或直接打开查询编辑器窗口。确保后续的所有 SQL 命令都在正确的数据库上下文环境中执行,避免因连接错库导致权限授予无效。

关于创建带密码的登录用户

postgresql创建用户的方法及密码权限配置教程

关于创建带密码的登录用户

使用 SQL 命令创建

最直接且跨版本兼容的方式是在查询窗口中执行 SQL。以下语句创建一个名为 app_reader 的用户,并设置登录权限和密码:

CREATE USER app_reader
WITH LOGIN
PASSWORD 'Replace-With-A-Strong-Password';

CREATE USER 是 CREATE ROLE ... LOGIN 的快捷方式。请务必将密码替换为高强度随机字符串,避免使用弱口令或在代码仓库中明文存储真实密码。

如果不确定用户是否已存在,可以先查询系统表:

SELECT rolname, rolcanlogin
FROM pg_roles
WHERE rolname = 'app_reader';

若用户已存在但需重置密码或启用登录,可使用 ALTER 语句:

ALTER ROLE app_reader
WITH LOGIN
PASSWORD 'Replace-With-A-Strong-Password';

通过 Navicat 界面创建

在 Navicat 的对象树中,通常可以在“角色”或“用户”节点下找到管理入口。右键点击“角色”,选择“新建角色”。在弹出的属性窗口中,输入角色名称,并在“定义”或“成员资格”标签页中勾选“可以登录”选项,随后在“密码”字段设置凭证。保存后,刷新列表即可看到新角色。由于不同版本的 Navicat 菜单布局可能略有差异,若找不到对应入口,建议直接使用上述 SQL 方式,更加稳定可靠。

关于允许连接指定数据库

创建角色后,该角色默认并不拥有访问所有数据库的权限。需要显式授予其对目标数据库的连接权:

GRANT CONNECT ON DATABASE appdb TO app_reader;

请将 appdb 替换为实际的数据库名称。注意,即使数据库允许 PUBLIC 组连接,也不意味着新用户自动拥有库内所有对象的访问权,后续仍需单独配置 Schema 和表级权限。

postgresql创建用户的方法及密码权限配置教程

关于允许连接指定数据库

关于授予 Schema 和表的最小权限

连接到目标数据库后,首先需要允许用户使用特定的 Schema(通常为 public):

GRANT USAGE ON SCHEMA public TO app_reader;

接下来,根据业务需求授予表权限。对于只读账号,仅授予 SELECT 权限:

GRANT SELECT
ON ALL TABLES IN SCHEMA public
TO app_reader;

如果账号需要写入数据,可按需追加 INSERT、UPDATE 或 DELETE 权限,尽量避免直接授予 ALL PRIVILEGES:

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

遵循最小权限原则,只赋予完成工作所必需的权限,能有效降低安全风险。

关于处理自增序列权限

如果表中包含使用 serial 或 identity 定义的自增主键,写入用户在插入数据时还需要访问对应的序列对象。若未授权,插入操作会报错。可根据需要授予序列权限:

GRANT USAGE, SELECT
ON ALL SEQUENCES IN SCHEMA public
TO app_reader;

遇到插入报错时,应首先检查是否是序列权限缺失,而非盲目提升用户等级。

关于让未来新表自动获得权限

使用 GRANT ON ALL TABLES 仅对执行时刻已存在的表生效。为了确保后续创建的新表也能被该用户访问,需要设置默认权限。请注意,这条命令必须由将来创建这些表的对象所有者(通常是建表用户或管理员)执行:

ALTER DEFAULT PRIVILEGES IN SCHEMA public
GRANT SELECT ON TABLES TO app_reader;

若新表也需要写入权限,则扩展为:

ALTER DEFAULT PRIVILEGES IN SCHEMA public
GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO app_reader;

默认权限机制确保了权限管理的持续性,无需每次建表后手动重新授权。

postgresql创建用户的方法及密码权限配置教程

关于让未来新表自动获得权限

关于在 Navicat 中核对权限

配置完成后,建议在 Navicat 中进行验证。刷新对象树,查看 app_reader 角色是否存在且属性正确。为了准确测试,可以使用该账号新建一个临时连接,或在查询窗口中切换用户身份(如果支持)。

执行以下语句确认当前身份和数据库:

SELECT current_user, current_database();

随后尝试执行预期允许的操作,例如只读用户执行查询:

SELECT *
FROM public.example_table
LIMIT 1;

若尝试执行未授权的操作(如只读用户执行 DELETE),数据库应返回权限拒绝错误,这证明最小权限配置已生效。

关于修改、回收和删除用户

随着业务变化,可能需要调整用户权限。修改密码使用:

ALTER ROLE app_reader PASSWORD 'New-Strong-Password';

临时禁止登录:

ALTER ROLE app_reader NOLOGIN;

回收特定权限:

REVOKE INSERT, UPDATE, DELETE
ON ALL TABLES IN SCHEMA public
FROM app_reader;

删除用户前,必须确保该角色不再拥有任何数据库对象,也没有其他角色依赖它:

DROP ROLE app_reader;

若删除失败,PostgreSQL 会提示存在依赖对象,此时需先转移对象所有权或回收权限,切勿在生产环境中随意使用级联删除。

postgresql创建用户的方法及密码权限配置教程

在对象树中查看和管理已创建的角色

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
作者最新文章
相关文章 更多
postgresql修改密码的视频操作教程与命令详解
postgresql修改密码的视频操作教程与命令详解

学习如何在 PostgreSQL 中安全修改用户密码。本文涵盖使用 Navicat for PostgreSQL 执行 ALTER ROLE 命令、更新连接属性,以及使用 psql \password 命令的方法,并提供验证步骤和录屏安全建议。

postgresql 安装 mac详细步骤与基础配置教程
postgresql 安装 mac详细步骤与基础配置教程

手把手教你在 Mac 上使用 Homebrew 安装 PostgreSQL 17,完成服务启动、psql 验证、创建专用开发账号,并配置 Navicat for PostgreSQL 实现可视化数据库管理。

postgresql导入sql文件命令操作教程
postgresql导入sql文件命令操作教程

学习使用 psql -f 参数和 Navicat for PostgreSQL 导入 SQL 文件的完整步骤。包含 Windows/Linux/Mac 环境配置、权限设置、编码处理及错误验证方法,适合数据库管理员和开发人员参考。

PostgreSQL备份恢复命令操作教程
PostgreSQL备份恢复命令操作教程

学习如何使用pg_dump和pg_restore进行PostgreSQL数据库备份与恢复。本文提供命令行示例,并演示如何在Navicat for PostgreSQL中确认连接、执行备份及验证恢复结果,适合初学者掌握基础运维操作。

查看更多
精品专题 更多
装机必备
装机必备

正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

Windows
Windows

正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

macOS软件
macOS软件

正软商城macOS软件专区,精选适用于Mac电脑的办公、设计、影音、效率、开发和系统工具,提供软件功能介绍、macOS兼容版本、正版授权及购买下载服务。

Mac软件 更多
photoshop
photoshop
Windows、macOS 、 iPad

Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。

Blender
Blender
Windows、macOS 和 Linux

Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。

灵活计算器
灵活计算器
macOS/iOS/Android

灵活计算器是一款笔记式算数应用,支持实时计算、动态关联和云端同步功能。记录、整理和输出之间的过渡会更自然,适合长期写作、做笔记或持续沉淀个人内容。

WINDOWS 更多
3dmax(3ds max)
3dmax(3ds max)
Windows

Autodesk 3ds Max 是一款专业的三维建模、动画与渲染软件,广泛应用于建筑可视化、游戏开发、影视动画、广告设计和产品展示等领域。

photoshop
photoshop
Windows、macOS 、 iPad

Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。

Blender
Blender
Windows、macOS 和 Linux

Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。

即将离开本站
您即将前往第三方网站,请确认是否继续?