如何在 PostgreSQL (Postgres)使用 PgAdmin

在本教程中,您将学习

如何创建 PostgreSQL PgAdmin 中的用户

以下是如何创建用户的分步过程 PostgreSQL 页面管理员:

步骤1) 右键单击“登录”

第一步,右键点击“登录组角色”->“创建”->点击“登录组角色…”

创建 PostgreSQL PgAdmin 中的用户

步骤2) 创建登录/组角色

现在,输入登录名

创建 PostgreSQL PgAdmin 中的用户

步骤3) 单击“定义”并输入详细信息

  1. 输入密码
  2. 帐户的到期日期

创建 PostgreSQL PgAdmin 中的用户

步骤4) 特权部分

  1. Toggle 可以登录按钮为 YES
  2. Toggl超级用户设置为 YES

创建 PostgreSQL PgAdmin 中的用户

步骤5) - SQL 部分

  1. 您将看到根据前面步骤中的选择创建用户的 SQL 查询
  2. 点击保存按钮

创建 PostgreSQL PgAdmin 中的用户

步骤6) 角色已创建

现在,角色已经反映在对象树中。

创建 PostgreSQL PgAdmin 中的用户

步骤7) 创建一个 数据库

现在,为其分配所有者 myguru,如下面的创建用户 Postgres 示例所示。

创建 PostgreSQL PgAdmin 中的用户

步骤8) 命令行

现在,您可以看到所有者是 myguru。

创建 PostgreSQL PgAdmin 中的用户

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';

创建用户 SQLShell

步骤2) 在用户清单中输入命令 \du

创建用户 SQLShell

注意: 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,您将发现超级用户权限已被删除。

Rev授予权限

分配权限

您可以使用以下命令将用户 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

示例:

  1. 帐户“myguru”是数据库“demoDB”的所有者。
  2. 输入命令 DROP USER myguru
  3. 显示错误

PostgreSQL 删除用户

一旦我们更改数据库所有者,就可以删除该用户

PostgreSQL 删除用户

备忘单

以下是重要的命令

命令 描述
CREATE USER [user]
创建用户命令
ALTER USER role_specification
更改现有用户权限
ALTER USER [user]
Rev授予权限
ALTER USER [user name] WITH SUPERUSER
分配权限
DROP USER [user]
删除用户命令