函数参考
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– 存储桶所在的AWS区域。有关 AWS 区域名称和关联值的列表,请参阅区域、可用区和 Local Zones。目前,此值必须是导出的数据库实例的同一个 AWS 区域。默认值为导出的数据库实例的 AWS 区域。 
 要创建 aws_commons._s3_uri_1复合结构,请参阅 aws_commons.create_s3_uri 函数。
- 
                                
- options
- 
                        一个包含 PostgreSQL COPY命令的参数的可选文本字符串。这些参数指定了在导出时复制数据的方式。有关更多详细信息,请参阅 PostgreSQL COPY 文档。 
- kms_key 文本
- 
                        一个可选文本字符串,其中包含要将数据导出到的 S3 存储桶的客户托管 KMS 密钥。 
备用输入参数
为帮助进行测试,您可以使用一组扩展的参数而非 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, kms_key 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 文档。 
- kms_key 文本
- 
                            一个可选文本字符串,其中包含要将数据导出到的 S3 存储桶的客户托管 KMS 密钥。 
输出参数
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。根据需要,XXXX
- 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。