tencent cloud

云数据库 PostgreSQL

动态与公告
产品动态
产品简介
产品概述
产品特性
产品优势
应用场景
信息安全说明
地域和可用区
产品功能列表
大版本生命周期说明
MSSQL 兼容版
产品计费
计费概述
实例类型与规格
购买方式
退费说明
欠费说明
备份空间收费说明
快速入门
创建 PostgreSQL 实例
连接 PostgreSQL 实例
管理 PostgreSQL 实例
数据导入
通过 DTS 迁移数据
内核能力介绍
内核版本概述
内核版本更新动态
查看内核版本
自研内核功能介绍
数据库审计
审计服务说明
开通审计服务
查看审计日志
修改审计服务
审计性能说明
用户指南
实例管理
升级实例
CPU 弹性扩容
只读实例
账号管理
数据库管理
参数管理
日志管理及分析
备份与恢复
数据迁移
插件管理
网络管理
访问管理
数据安全
租户及资源隔离
安全组
监控与告警
标签
AI 实践
使用 tencentdb_ai 插件调用大模型
使用 tencentdb_ai 插件构建 AI 应用
结合 Supabase 快速构建基于云数据库 PostgreSQL 的后端服务
实践教程
跨库访问
如何在 PostgreSQL 中自动创建分区
基于 pg_roaringbitmap 实现超大规模标签查找
一条 SQL 实现查询附近的人
如何配置云数据库 PostgreSQL 作为 GitLab 外部数据源
通过 cos_fdw 插件支持分级存储能力
通过 pgpool 实现读写分离
通过 auto_explain 插件实现慢 SQL 分析
使用 pglogical 进行逻辑复制
使用 Debezium 采集 PostgreSQL 数据
在 CVM 本地搭建 PostgreSQL 异地灾备环境
只读实例与只读组实践教程
如何使用云函数定时操作数据库
表膨胀处理
性能白皮书
测试方法
测试结果
API 文档
History
Introduction
API Category
Making API Requests
Instance APIs
Read-Only Instance APIs
Backup and Recovery APIs
Parameter Management APIs
Security Group APIs
Performance Optimization APIs
Account APIs
Specification APIs
Network APIs
Data Types
Error Codes
常见问题
相关协议
Service Level Agreement
Terms of Service
词汇表
联系我们

用户与权限操作

PDF
聚焦模式
字号
最后更新时间: 2024-01-22 16:22:57

云数据库默认角色

腾讯云数据库 PostgreSQL 未开放 superuser 角色属性和 pg_execute_server_program、pg_read_server_files、pg_write_server_files 角色供用户使用。但因为部分操作必须要求 superuser 进行,所以云数据库 PostgreSQL 提供了 pg_tencentdb_superuser 角色用以替代 superuser。

pg_tencentdb_superuser 角色

此角色支持的权限包括:系统权限和数据库对象权限。详细权限如下表:

系统权限

权限
描述
CREATEDB
可以执行 database 的创建。
BYPASSRLS
可以绕过所有行级安全策略检查 。
REPLICATION
默认拥有 replication 权限,也可以授权 replication 权限给其他用户。
CREATEROLE
拥有如社区版中 CREATEROLE 的权限,但是已将 pg_read_server_files, pg_write_server_files 和 pg_execute_server_program 从 createrole 权限中移除。

对象权限

对象
描述
database
默认拥有所有 owner 为非 superuser 的 database 的权限。
schema
默认拥有所有 owner 为非 superuser 的 schema 的权限。
table/sequence
默认拥有所有 owner 为非 superuser 的 table/sequence 的权限。
function
默认拥有所有 owner 为非 superuser 的 function 的权限。
language
无权限。
tablespace
无权限。
FDW / foreign server
默认拥有所有 owner 为非 superuser 的 FDW / foreign server 的权限。
TYPE
默认拥有所有 owner 为非 superuser 的 type 的权限。

其他操作

订阅/发布:可以创建订阅/发布;可以创建 publication for all tables;可以创建 slot。
插件:可创建所有支持的插件。创建插件时,当前 pg_tencentdb_superuser 会临时提权为 superuser,通过所有的权限检查。
load_file 权限保持默认行为,仅可以加载支持的插件库。
开放 pgstat_get_backend_current_activity 函数中查看死锁的详细信息的权限,方便用户自己排查死锁。
限制 pg_signal_backend 函数,只有 pg_tencentdb_superuser 才能 kill pg_tencentdb_superuser 的进程。

权限操作

详细权限操作可以参考 PostgreSQL 社区官方文档:
创建用户,详细可参考 官方文档
CREATE USER name [ [ WITH ] option [ ... ] ]

where option can be:

SUPERUSER | NOSUPERUSER
| CREATEDB | NOCREATEDB
| CREATEROLE | NOCREATEROLE
| INHERIT | NOINHERIT
| LOGIN | NOLOGIN
| REPLICATION | NOREPLICATION
| BYPASSRLS | NOBYPASSRLS
| CONNECTION LIMIT connlimit
| [ ENCRYPTED ] PASSWORD 'password' | PASSWORD NULL
| VALID UNTIL 'timestamp'
| IN ROLE role_name [, ...]
| IN GROUP role_name [, ...]
| ROLE role_name [, ...]
| ADMIN role_name [, ...]
| USER role_name [, ...]
| SYSID uid
创建角色,详细可参考 官方文档
CREATE ROLE name [ [ WITH ] option [ ... ] ]

where option can be:

SUPERUSER | NOSUPERUSER
| CREATEDB | NOCREATEDB
| CREATEROLE | NOCREATEROLE
| INHERIT | NOINHERIT
| LOGIN | NOLOGIN
| REPLICATION | NOREPLICATION
| BYPASSRLS | NOBYPASSRLS
| CONNECTION LIMIT connlimit
| [ ENCRYPTED ] PASSWORD 'password' | PASSWORD NULL
| VALID UNTIL 'timestamp'
| IN ROLE role_name [, ...]
| IN GROUP role_name [, ...]
| ROLE role_name [, ...]
| ADMIN role_name [, ...]
| USER role_name [, ...]
| SYSID uid
修改角色属性,详细可参考 官方文档
ALTER ROLE role_specification [ WITH ] option [ ... ]

where option can be:

SUPERUSER | NOSUPERUSER
| CREATEDB | NOCREATEDB
| CREATEROLE | NOCREATEROLE
| INHERIT | NOINHERIT
| LOGIN | NOLOGIN
| REPLICATION | NOREPLICATION
| BYPASSRLS | NOBYPASSRLS
| CONNECTION LIMIT connlimit
| [ ENCRYPTED ] PASSWORD 'password' | PASSWORD NULL
| VALID UNTIL 'timestamp'
赋予角色对象权限,详细可参考 官方文档
#简单写法
GRANT <权限> on <对象> to <角色>;
回收角色对象权限,详细可参考 官方文档
#简单写法
REVOKE <权限> ON <对象> FROM <角色>;
将角色赋予其他角色:
#简单写法
GRANT <角色名> to <其他角色>;


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈