函数参考 - Amazon Relational Database Service

函数参考

aws_s3.query_export_to_s3

将 PostgreSQL 查询结果导出到 Amazon S3 存储桶。aws_s3 扩展提供 aws_s3.query_export_to_s3 函数。

两个必需的参数为 querys3_info。这两个参数定义了要导出的查询,并标识了要导出到的 Amazon S3 存储桶。一个称作 options 的可选参数,用于定义各种导出参数。有关使用 aws_s3.query_export_to_s3 函数的示例,请参阅使用 aws_s3.query_export_to_s3 函数导出查询数据

语法

aws_s3.query_export_to_s3( query text, s3_info aws_commons._s3_uri_1, options text, kms_key text )
输入参数
query

一个必需的文本字符串,其中包含 PostgreSQL 引擎运行的 SQL 查询。此查询的结果将复制到 s3_info 参数中标识的 S3 存储桶。

s3_info

包含有关 S3 对象的以下信息的 aws_commons._s3_uri_1 复合类型:

  • bucket – 要包含文件的 Amazon S3 存储桶的名称。

  • file_path – Amazon S3 文件名和路径。

  • region – 存储桶所在的AWS区域。有关 AWS 区域名称和关联值的列表,请参阅区域、可用区和 Local Zones

    目前,此值必须是导出的数据库实例的同一个 AWS 区域。默认值为导出的数据库实例的 AWS 区域。

要创建 aws_commons._s3_uri_1 复合结构,请参阅 aws_commons.create_s3_uri 函数。

options

一个包含 PostgreSQL COPY 命令的参数的可选文本字符串。这些参数指定了在导出时复制数据的方式。有关更多详细信息,请参阅 PostgreSQL COPY 文档

备用输入参数

为帮助进行测试,您可以使用一组扩展的参数而非 s3_info 参数。下面是 aws_s3.query_export_to_s3 函数的其他语法变化。

不使用 s3_info 参数来标识 Amazon S3 文件,而使用 bucketfile_pathregion 参数的组合。

aws_s3.query_export_to_s3( query text, bucket text, file_path text, region text, options text, )
query

一个必需的文本字符串,其中包含 PostgreSQL 引擎运行的 SQL 查询。此查询的结果将复制到 s3_info 参数中标识的 S3 存储桶。

bucket

一个包含 Amazon S3 存储桶(其中包含文件)的名称的必需文本字符串。

file_path

包含 Amazon S3 文件名(包含文件路径)的必填文本字符串。

region

一个包含存储桶所在的 AWS 区域的可选文本字符串。有关 AWS 区域名称和关联值的列表,请参阅区域、可用区和 Local Zones

目前,此值必须是导出的数据库实例的同一个 AWS 区域。默认值为导出的数据库实例的 AWS 区域。

options

一个包含 PostgreSQL COPY 命令的参数的可选文本字符串。这些参数指定了在导出时复制数据的方式。有关更多详细信息,请参阅 PostgreSQL COPY 文档

输出参数

aws_s3.query_export_to_s3( OUT rows_uploaded bigint, OUT files_uploaded bigint, OUT bytes_uploaded bigint )
rows_uploaded

针对给定查询成功上传到 Amazon S3 的表行的数目。

files_uploaded

已上传到 Amazon S3 的文件的数目。以约 6 GB 的大小创建文件。创建的每个附加文件的名称都追加了 _partXX。根据需要,XX 表示 2,然后表示 3,依此类推。

bytes_uploaded

已上传到 Amazon S3 的字节的总数。

示例

psql=> SELECT * from aws_s3.query_export_to_s3('select * from sample_table', 'amzn-s3-demo-bucket', 'sample-filepath'); psql=> SELECT * from aws_s3.query_export_to_s3('select * from sample_table', 'amzn-s3-demo-bucket', 'sample-filepath','us-west-2'); psql=> SELECT * from aws_s3.query_export_to_s3('select * from sample_table', 'amzn-s3-demo-bucket', 'sample-filepath','us-west-2','format text');

aws_commons.create_s3_uri

创建 aws_commons._s3_uri_1 结构来保存 Amazon S3 文件信息。在 aws_commons.create_s3_uri 函数的 s3_info 参数中使用 aws_s3.query_export_to_s3 函数的结果。有关使用 aws_commons.create_s3_uri 函数的示例,请参阅指定要导出到的 Amazon S3 文件路径

语法

aws_commons.create_s3_uri( bucket text, file_path text, region text )
输入参数
bucket

包含文件的 Amazon S3 存储桶名称的必需文本字符串。

file_path

包含 Amazon S3 文件名(包含文件路径)的必填文本字符串。

region

一个包含文件所在的 AWS 区域的必需文本字符串。有关 AWS 区域名称和关联值的列表,请参阅区域、可用区和 Local Zones