经过测试使用发现,RDS PostgreSQL 存在限制的主要有两类 SQL 命令:
1、需要 superuser 权限(参考角色属性)执行的 SQL 命令;
2、需要访问 RDS 服务器文件系统的 SQL 命令,详细说明可参考预定义角色中的 pg_read_server_files、pg_write_server_files 以及 pg_execute_server_program。这些角色的目的是允许管理员有一些可信但不是超级用户的角色来访问文件以及以运行数据库的用户在数据库服务器上运行程序。 由于这些角色能够访问服务器文件系统上的任何文件,因此在直接访问文件时它们会绕过任何数据库级别的权限检查并且它们可以被用来得到超级用户级别的访问,因此在把这些角色授予给用户时应当特别小心。;
SQL 命令 | 说明 | 支持 |
---|---|---|
中止当前事务 | ✔ | |
更改一个聚集函数的定义 | ✔ | |
更改一个排序规则的定义 | ✔ | |
改变一个转换的定义 | ✔ | |
更改一个数据库 | ❓ | |
定义默认访问特权 | ✔ | |
更改一个域的定义 | ✔ | |
更改一个事件触发器的定义 | ✔ | |
更改一个扩展的定义 | ❌ | |
更改一个外部数据包装器的定义 | ❓ | |
更改一个外部表的定义 | ✔ | |
更改一个函数的定义 | ✔ | |
更改角色名称或者成员关系 | ✔ | |
更改一个索引的定义 | ✔ | |
更改一种过程语言的定义 | ❌ | |
更改一个大对象的定义 | ✔ | |
更改一个物化视图的定义 | ✔ | |
更改一个操作符的定义 | ✔ | |
更改一个操作符类的定义 | ✔ | |
更改一个操作符族的定义 | ✔ | |
更改一条行级安全性策略的定义 | ✔ | |
更改一个过程的定义 | ✔ | |
修改发布的定义 | ✔ | |
更改一个数据库角色 | ✔ | |
更改一个例程的定义 | ✔ | |
更改一个规则定义 | ✔ | |
更改一个模式的定义 | ✔ | |
更改一个序列发生器的定义 | ✔ | |
更改一个外部服务器的定义 | ✔ | |
更改扩展统计对象的定义 | ✔ | |
修改订阅的定义 | ✔ | |
更改一个服务器配置参数 | ❓ | |
更改一个表的定义 | ✔ | |
更改一个表空间的定义 | ❌ | |
更改一个文本搜索配置的定义 | ✔ | |
更改一个文本搜索字典的定义 | ✔ | |
更改一个文本搜索解析器的定义 | ✔ | |
更改一个文本搜索模板的定义 | ✔ | |
更改一个触发器的定义 | ✔ | |
更改一个类型的定义 | ✔ | |
更改一个数据库角色 | ✔ | |
更改一个用户映射的定义 | ✔ | |
更改一个视图的定义 | ✔ | |
收集有关一个数据库的统计信息 | ✔ | |
开始一个事务块 | ✔ | |
调用一个过程 | ✔ | |
强制一个WAL日志检查点 | ❌ | |
关闭一个游标 | ✔ | |
根据一个索引聚簇一个表 | ✔ | |
定义或者更改一个对象的注释 | ✔ | |
提交当前事务 | ✔ | |
提交一个早前为两阶段提交预备的事务 | ✔ | |
在一个文件和一个表之间复制数据 | ❓ | |
定义一种新的访问方法 | ✔ | |
定义一个新的聚集函数 | ✔ | |
定义一种新的造型 | ✔ | |
定义一种新排序规则 | ✔ | |
定义一种新的编码转换 | ✔ | |
创建一个新数据库 | ❌ | |
定义一个新的域 | ✔ | |
定义一个新的事件触发器 | ✔ | |
安装一个扩展 | ❌ | |
定义一个新的外部数据包装器 | ❓ | |
定义一个新的外部表 | ✔ | |
定义一个新函数 | ✔ | |
定义一个新的数据库角色 | ✔ | |
定义一个新索引 | ✔ | |
定义一种新的过程语言 | ❌ | |
定义一个新的物化视图 | ✔ | |
定义一个新的操作符 | ✔ | |
定义一个新的操作符类 | ✔ | |
定义一个新的操作符族 | ✔ | |
为一个表定义一条新的行级安全性策略 | ✔ | |
定义一个新的过程 | ✔ | |
定义一个新的发布 | ✔ | |
定义一个新的数据库角色 | ✔ | |
定义一条新的重写规则 | ✔ | |
定义一个新模式 | ✔ | |
定义一个新的序列发生器 | ✔ | |
定义一个新的外部服务器 | ❓ | |
定义扩展统计 | ✔ | |
定义一个新的订阅 | ✔ | |
定义一个新表 | ✔ | |
从一个查询的结果创建一个新表 | ✔ | |
定义一个新的表空间 | ❌ | |
定义一个新的文本搜索配置 | ✔ | |
定义一个新的文本搜索字典 | ✔ | |
定义一个新的文本搜索解析器 | ✔ | |
定义一种新的文本搜索模板 | ✔ | |
定义一个新的转换 | ✔ | |
定义一个新触发器 | ✔ | |
定义一种新的数据类型 | ✔ | |
定义一个新的数据库角色 | ✔ | |
定义一个用户到一个外部服务器的新映射 | ✔ | |
定义一个新视图 | ✔ | |
释放一个预备语句 | ✔ | |
定义一个游标 | ✔ | |
删除一个表的行 | ✔ | |
抛弃会话状态 | ✔ | |
执行一个匿名代码块 | ✔ | |
移除一种访问方法 | ✔ | |
移除一个聚集函数 | ✔ | |
移除一个造型 | ✔ | |
移除一个排序规则 | ✔ | |
移除一个转换 | ✔ | |
移除一个数据库 | ❌ | |
移除一个域 | ✔ | |
移除一个事件触发器 | ✔ | |
移除一个扩展 | ❌ | |
移除一个外部数据包装器 | ❓ | |
移除一个外部表 | ✔ | |
移除一个函数 | ✔ | |
移除一个数据库角色 | ✔ | |
移除一个索引 | ✔ | |
移除一种过程语言 | ❌ | |
移除一个物化视图 | ✔ | |
移除一个操作符 | ✔ | |
移除一个操作符类 | ✔ | |
移除一个操作符族 | ✔ | |
移除一个数据库角色拥有的数据库对象 | ✔ | |
从一个表移除一条行级安全性策略 | ✔ | |
移除一个过程 | ✔ | |
删除一个发布 | ✔ | |
移除一个数据库角色 | ✔ | |
删除一个例程 | ✔ | |
移除一个重写规则 | ✔ | |
移除一个模式 | ✔ | |
移除一个序列 | ✔ | |
移除一个外部服务器描述符 | ❓ | |
删除扩展统计 | ✔ | |
删除一个订阅 | ✔ | |
移除一个表 | ✔ | |
移除一个表空间 | ❌ | |
移除一个文本搜索配置 | ✔ | |
移除一个文本搜索字典 | ✔ | |
移除一个文本搜索解析器 | ✔ | |
移除一个文本搜索模板 | ✔ | |
移除转换 | ✔ | |
移除一个触发器 | ✔ | |
移除一个数据类型 | ✔ | |
移除一个数据库角色 | ✔ | |
移除一个用于外部服务器的用户映射 | ✔ | |
移除一个视图 | ✔ | |
提交当前事务 | ✔ | |
执行一个预备语句 | ✔ | |
显示一个语句的执行计划 | ✔ | |
使用游标从查询中检索行 | ✔ | |
定义访问特权 | ✔ | |
从一个外部服务器导入表定义 | ✔ | |
在一个表中创建新行 | ✔ | |
监听一个通知 | ✔ | |
载入一个共享库文件 | ❌ | |
锁定一个表 | ✔ | |
定位一个游标 | ✔ | |
生成一个通知 | ✔ | |
预备一个语句用于执行 | ✔ | |
为两阶段提交准备当前事务 | ✔ | |
更改一个数据库角色拥有的数据库对象的拥有关系 | ✔ | |
替换一个物化视图的内容 | ✔ | |
重建索引 | ✔ | |
销毁一个之前定义的保存点 | ✔ | |
把一个运行时参数的值恢复到默认值 | ✔ | |
移除访问特权 | ✔ | |
中止当前事务 | ✔ | |
取消一个之前为两阶段提交准备好的事务 | ✔ | |
回滚到一个保存点 | ✔ | |
在当前事务中定义一个新的保存点 | ✔ | |
定义或更改应用到一个对象的安全标签 | ✔ | |
从一个表或视图检索行 | ✔ | |
从一个查询的结果定义一个新表 | ✔ | |
更改一个运行时参数 | ✔ | |
为当前事务设置约束检查时机 | ✔ | |
设置当前会话的当前用户标识符 | ✔ | |
设置当前会话的会话用户标识符和当前用户标识符 | ✔ | |
设置当前事务的特性 | ✔ | |
显示一个运行时参数的值 | ✔ | |
开始一个事务块 | ✔ | |
清空一个表或者一组表 | ✔ | |
停止监听一个通知 | ✔ | |
更新一个表的行 | ✔ | |
垃圾收集并根据需要分析一个数据库 | ✔ | |
计算一个行集合 | ✔ |
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。