PostgreSQL 更改用户名、密码、管理员权限

PostgreSQL About 3,768 words

说明

CREATE USER等同于CREATE ROLE

ALTER USER等同于ALTER ROLE

CREATE USER is now an alias for CREATE ROLE. The only difference is that when the command is spelled CREATE USER, LOGIN is assumed by default, whereas NOLOGIN is assumed when the command is spelled CREATE ROLE.

修改用户名

ALTER USER postgres RENAME TO admin

修改密码

ALTER USER postgres WITH PASSWORD '123456';

设置密码有效期

ALTER USER postgres with VALID UNTIL '2023-01-01 08:00:00';

查看用户信息

postgres=# \du postgres
                             角色列表
 角色名称 |                    属性                    | 成员属于
----------+--------------------------------------------+----------
 postgres | 超级用户, 建立角色, 建立 DB, 复制, 绕过RLS+| {}
          | 密码有效直至2023-01-01 08:00:00+08         |

去除密码有效期

ALTER USER postgres with VALID UNTIL 'infinity';
postgres=# \du postgres
                             角色列表
 角色名称 |                    属性                    | 成员属于
----------+--------------------------------------------+----------
 postgres | 超级用户, 建立角色, 建立 DB, 复制, 绕过RLS+| {}
          | 密码有效直至infinity                       |

赋予权限

  • login:登录权限
  • superuser:超级管理员权限
  • createrole:建立用户权限
  • createdb:创建数据库权限
  • replication:检查角色是否为复制角色权限
  • bypassrls:绕过RLS权限(Row Level Secruity行级安全策略)

超级用户, 建立角色, 建立 DB, 复制, 绕过RLS

ALTER USER "z-blog" WITH login superuser createrole createdb replication bypassrls;

可以单独赋予指定权限(用户名中有中划线-,需要加双引号)

ALTER USER "z-blog" WITH superuser;

删除权限

  • nologin:无法登录
  • nosuperuser:去除超级管理员权限
  • nocreaterole:去除建立用户权限
  • nocreatedb:去除创建数据库权限
  • noreplication:去除检查角色是否为复制角色权限
  • nobypassrls:去除绕过RLS权限(Row Level Secruity行级安全策略)
ALTER USER testuser WITH nosuperuser;

切换数据库或用户名

\c[onnect] {[DBNAME|- USER|- HOST|- PORT|-] | conninfo}
                       连接到新数据库(当前是"z-blog")

切换数据库

\c testdb

切换用户

\c + 中划线- + 用户名

\c - testuser

查看用户信息

查看当前 Schema 用户信息

\du

输出

postgres=# \du
                             角色列表
 角色名称 |                    属性                    | 成员属于
----------+--------------------------------------------+----------
 postgres | 超级用户, 建立角色, 建立 DB, 复制, 绕过RLS | {}
 z-blog   | 超级用户, 建立角色, 建立 DB, 复制, 绕过RLS | {}

查看指定用户信息

\du postgres

输出

postgres=# \du postgres
                             角色列表
 角色名称 |                    属性                    | 成员属于
----------+--------------------------------------------+----------
 postgres | 超级用户, 建立角色, 建立 DB, 复制, 绕过RLS | {}

更多用户信息(多了描述字段)

\du+

输出

postgres=# \du+
                                角色列表
 角色名称 |                    属性                    | 成员属于 | 描述
----------+--------------------------------------------+----------+------
 postgres | 超级用户, 建立角色, 建立 DB, 复制, 绕过RLS | {}       |
 z-blog   | 超级用户, 建立角色, 建立 DB, 复制, 绕过RLS | {}       |

显示所有 Schema 用户信息

\duS

输出

postgres=# \duS
                                                               角色列表
         角色名称          |                    属性                    |                           成员属于
---------------------------+--------------------------------------------+--------------------------------------------------------------
 pg_execute_server_program | 无法登录                                   | {}
 pg_monitor                | 无法登录                                   | {pg_read_all_settings,pg_read_all_stats,pg_stat_scan_tables}
 pg_read_all_settings      | 无法登录                                   | {}
 pg_read_all_stats         | 无法登录                                   | {}
 pg_read_server_files      | 无法登录                                   | {}
 pg_signal_backend         | 无法登录                                   | {}
 pg_stat_scan_tables       | 无法登录                                   | {}
 pg_write_server_files     | 无法登录                                   | {}
 postgres                  | 超级用户, 建立角色, 建立 DB, 复制, 绕过RLS | {}
 z-blog                    | 超级用户, 建立角色, 建立 DB, 复制, 绕过RLS | {}

文档

https://www.postgresql.org/docs/current/sql-alterrole.html

Views: 2,297 · Posted: 2023-10-28

————        END        ————

Give me a Star, Thanks:)

https://github.com/fendoudebb/LiteNote

扫描下方二维码关注公众号和小程序↓↓↓

扫描下方二维码关注公众号和小程序↓↓↓


Today On History
Browsing Refresh