函数参考
aws_s3.query_export_to_s3
将 PostgreSQL 查询结果导出到 Amazon S3 存储桶。aws_s3
扩展提供 aws_s3.query_export_to_s3
函数。
两个必需的参数为 query
和 s3_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
– 存储桶所在的Amazon区域。有关 Amazon 区域名称和关联值的列表,请参阅区域、可用区和 Local Zones。目前,此值必须是导出的数据库实例的同一个 Amazon 区域。默认值为导出的数据库实例的 Amazon 区域。
要创建
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 文件,而使用 bucket
、file_path
和 region
参数的组合。
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
-
一个包含存储桶所在的 Amazon 区域的可选文本字符串。有关 Amazon 区域名称和关联值的列表,请参阅区域、可用区和 Local Zones。
目前,此值必须是导出的数据库实例的同一个 Amazon 区域。默认值为导出的数据库实例的 Amazon 区域。
- 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 的大小创建文件。创建的每个附加文件的名称都追加了
_part
。根据需要,XX
表示 2,然后表示 3,依此类推。XX
- 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
-
一个包含文件所在的 Amazon 区域的必需文本字符串。有关 Amazon 区域名称和关联值的列表,请参阅区域、可用区和 Local Zones。