如何在 PostgreSQL (Postgres)使用 PgAdmin
在本教程中,您将学习
- PostgreSQL 在 PgAdmin 中创建用户
- PostgreSQL 创建用户 SQLShell(命令行)
- 将现有用户添加到数据库
- PostgreSQL 更新用户
- PostgreSQL 删除用户
- 备忘单
如何创建 PostgreSQL PgAdmin 中的用户
以下是如何创建用户的分步过程 PostgreSQL 页面管理员:
步骤1) 右键单击“登录”
第一步,右键点击“登录组角色”->“创建”->点击“登录组角色…”
步骤2) 创建登录/组角色
现在,输入登录名
步骤3) 单击“定义”并输入详细信息
- 输入密码
- 帐户的到期日期
步骤4) 特权部分
- Toggle 可以登录按钮为 YES
- Toggl超级用户设置为 YES
步骤5) - SQL 部分
- 您将看到根据前面步骤中的选择创建用户的 SQL 查询
- 点击保存按钮
步骤6) 角色已创建
现在,角色已经反映在对象树中。
步骤7) 创建一个 数据库
现在,为其分配所有者 myguru,如下面的创建用户 Postgres 示例所示。
步骤8) 命令行
现在,您可以看到所有者是 myguru。
PostgreSQL 创建用户 SQLShell(命令行)
您可以使用命令行命令创建用户
创建用户
这种使用密码创建 Postgres 用户的方法对于程序员和管理员来说更加方便,因为他们可以访问 PostgreSQL 服务器。此外,他们需要创建 Postgres 用户并使用单个命令执行,而不是登录并使用 PostgreSQL 顾客。
语法:
CREATE USER name WITH option where the option can be: |SUPERUSER | NOSUPERUSER | CREATEROLE | NOCREATEROLE | CREATEDB | NOCREATEDB | INHERIT | NOINHERIT | LOGIN | NOLOGIN | REPLICATION | NOREPLICATION | BYPASSRLS | NOBYPASSRLS | CONNECTION LIMIT | ( ENCRYPTED ] PASSWORD 'password.' | VALID UNTIL 'timestamp1 | IN ROLE role_name [, ...J | IN GROUP role_name [, ...] | ROLE role_name [, ...] | ADMIN role_name [, ...) | USER role_name [, ...] | SYSID uid
示例:
CREATE USER tom;
将创建一个用户 tom
CREATE USER tom WITH SUPERUSER;
将创建一个具有超级用户权限的用户。让我们看以下示例。
步骤1) 我们正在创建一个有效期至 3 的超级用户rd 2025 年 11 月 50:38:XNUMX IST。输入以下命令
CREATE USER mytest WITH LOGIN SUPERUSER CREATEDB CREATEROLE INHERIT NOREPLICATION CONNECTION LIMIT -1 VALID UNTIL '2025-04-03T11:50:38+05:30' PASSWORD '123456';
步骤2) 在用户清单中输入命令 \du
注意: CREATE USER 与 CREATE ROLE 命令相同。这两个命令之间的区别在于,当编写 Postgres CREATE user 命令时,它默认处于 LOGIN 状态,而当使用 CRETE ROLE 选项时则假定为 NOLOGIN。
将现有用户添加到数据库
您可以授予用户访问数据库的权限。
例如,我们授予用户“mytest”对用户 guru99 的所有权限
GRANT ALL PRIVILEGES ON DATABASE guru99 TO mytest;
执行后 PostgreSQL 添加用户命令,用户将能够使用给定的权限访问数据库。
GRANT 命令非常强大。您可以为用户授予 Select、Insert、Update 等细粒度的权限。
PostgreSQL 更新用户
更改现有用户权限
现在我们的新用户“mytest”存在,您可以使用 ALTER USER 来更改授予图书管理员的权限。
Postgres ALTER USER 的格式包括用户的名称,后面跟着一些选项来告诉 PostgreSQL 需要进行哪些许可的修改:
ALTER USER role_specification WITH OPTION1 OPTION2 OPTION3;
Rev授予权限
当您犯错并错误地分配了您可能想要撤销的权限时,您需要使用此命令。您可以在许可选项前使用不带前缀的 ALTER USER 命令。
例如,我们可以从 mytest 中删除 SUPERUSER 状态,例如:
ALTER USER mytest WITH NOSUPERUSER;
使用 \du,您将发现超级用户权限已被删除。
分配权限
您可以使用以下命令将用户 SUPERUSER 权限恢复为“mytest”
ALTER USER mytest WITH SUPERUSER;
使用 \du,您将观察到添加了超级用户权限。
PostgreSQL 删除用户
如果您确定特定用户不再适用于您的数据库,则可以使用删除任何用户。请注意,删除用户永远不会影响实际数据库。
Syntax: DROP USER [user]
要删除任何用户,您必须确定该用户是数据库的所有者。否则,您可能会收到错误消息。
ERROR: role "username" cannot be dropped because some objects depend on it
示例:
- 帐户“myguru”是数据库“demoDB”的所有者。
- 输入命令 DROP USER myguru
- 显示错误
一旦我们更改数据库所有者,就可以删除该用户
备忘单
以下是重要的命令
命令 | 描述 |
---|---|
CREATE USER [user] |
创建用户命令 |
ALTER USER role_specification |
更改现有用户权限 |
ALTER USER [user] |
Rev授予权限 |
ALTER USER [user name] WITH SUPERUSER |
分配权限 |
DROP USER [user] |
删除用户命令 |