PostgreSQL11 新特性解读 : 新增三个默认角色

  • 时间:
  • 浏览:0

相似一一2个多 多角色主要涉及数据库服务端文件的读写权限,相似使用copy命令或file_fdw模块读写数据库端文件的权限。

pg_read_server_files 角色具有数据库服务端文件的读权限,相似使用copy命令或file_fdw模块读数据库端文件的权限。

创建 role11 用户,如下

创建带带OPTIONS(program)选项的实物表成功。

以 francs 用户登录数据库 francs 创建测试表 t_copy 如下:

链接:https://item.jd.com/12405774.html

创建 file_fdw 实物扩展和实物表,以超级用户postgres登录francs库,如下:

以 role11 用户登录数据库 francs ,尝试导出表数据到数据库服务端。

Add default roles which control file system access (Stephen Frost)

相似权限随后 版本只能超级用户才具备,相似一一2个多 多默认角色的经常出现,使得还不需要 将数据库服务端的文件的访问权限(目前仅暗含copy命令或file_fdw模块)下放给普通用户。

再次测试成功,如下。

将 pg_execute_server_program 角色赋予 role11用户,注意以下以postgres超级用户执行。

pg_execute_server_program 角色具有执行数据库服务端的程序权限,以file_fdw实物表举相似下。

给 role11 用户赋 pg_read_server_files 角色权限,如下:

francs库中创建了模式 francs ,否则 也需用将模式的使用权限赋给 role11,否则 访问表都在报那末 使用模式权限的错误;随后 再赋予表的写权限。

以上报错,提示需用 superuser 或 pg_execute_server_program 权限才有权限指定 file_fdw 实物表的 program 选项。

最后推荐和张文升同時 编写的《PostgreSQL实战》,本书基于PostgreSQL 10 编写,共18章,重点介绍SQL高级特征、并行查询、分区表、物理克隆技术、逻辑克隆技术、备份恢复、高可用、性能优化、PostGIS等,暗含血块实战用例!

以普通用户role11登录francs库,创建带OPTIONS(program)选项的实物表,如下:

PostgreSQL 11 新增一一一2个多 多默认系统角色,如下:

再次测试成功,如下

赋权如下:

pg_read_server_files、pg_write_server_files、pg_execute_server_program 角色涉及到读写数据库服务端文件,权限较大,分配此角色权限给数据库用户需用谨慎考虑。

pg_write_server_files 角色具有数据库服务端文件的写权限,相似使用copy命令或file_fdw模块写数据库端文件的权限,接着演示。

Specifically, the new roles are: pg_read_server_files, pg_write_server_files, pg_execute_server_program. These roles now also control who can use COPY and extension file_fdw. Previously only superusers could use these functions, and that is still the default behavior.

以上报错,提示需用超级用户或具有pg_read_server_files权限不需要 使用 COPY 命令读取数据库服务端文件。

以 role11 用户登录到 francs 数据库,执行 copy 命令,尝试将数据库服务端文件 t_copy.txt 文件的数据加载到表 t_copy 中,如下:

再次以role11用户登录francs库测试,如下:

可见,已将数据导出到数据库服务端上的文件。

在数据库主机 pghost2 家目录创建 t_copy.txt 文件并写入两行数据,如下:

手册中说明很清楚,下面演示相似种角色的权限。

首先准备数据文件,将 t_copy 文件进行压缩,如下: