将数据库快照数据导出到 Amazon S3 - Amazon Relational Database Service
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

将数据库快照数据导出到 Amazon S3

您可以将数据库快照数据导出到 Amazon S3 存储桶。导出数据后,您可以通过 Amazon Athena 或 Amazon Redshift Spectrum 等工具直接分析导出的数据。导出过程在后台运行,但不会影响活动数据库实例的性能。

导出数据库快照时,Amazon RDS 从快照中提取数据并将其存储在账户中的 Amazon S3 存储桶中。数据以压缩和一致的 Apache Parquet 格式存储。

您可以导出所有类型的数据库和数据库集群快照,包括手动快照、自动系统快照和 AWS Backup 服务创建的快照。默认情况下,将导出快照中的所有数据。但是,您可以选择导出特定的一组数据库、方案或表。

注意

不支持从使用磁性存储的数据库实例导出快照。

以下 AWS 区域支持导出快照:

  • 美国东部(弗吉尼亚北部)

  • 美国东部(俄亥俄州)

  • 美国西部(俄勒冈)

  • 欧洲(爱尔兰)

  • 亚太区域(东京)

注意

您可以从不支持 S3 导出的 AWS 区域将快照复制到受支持的区域,然后导出副本。S3 存储桶必须与该副本位于同一 AWS 区域。

下表显示支持将快照数据导出到 Amazon S3 的引擎版本。

MariaDB MySQL PostgreSQL

10.3

10.2.12 及更高版本

10.1.26 及更高版本

10.0.32 及更高版本

8.0.13 及更高版本

5.7.24 及更高版本

5.6.40 及更高版本

11.2 及更高版本

10.7 及更高版本

9.6.12 及更高版本

9.5.16 及更高版本

有关 Amazon RDS 支持的引擎版本的完整列表,请参阅以下内容:

导出快照数据概述

以下过程提供如何将数据库快照数据导出到 Amazon S3 存储桶的高级视图。有关更多详细信息,请参阅以下部分。

将数据库快照数据导出到 Amazon S3

  1. 确定要导出的快照。

    使用现有的自动快照或手动快照,或创建数据库实例的手动快照。

  2. 设置对 Amazon S3 存储桶的访问权限。

    存储桶 是 Amazon S3 对象或文件的容器。要提供访问存储桶的信息,请执行以下步骤:

    1. 标识要将快照导出到的 S3 存储桶。S3 存储桶必须与快照位于同一 AWS 区域。有关更多信息,请参阅 标识要导出到的 Amazon S3 存储桶

    2. 创建用于服务器端加密的 AWS Key Management Service (AWS KMS) 客户主密钥 (CMK)。快照导出任务使用 AWS KMS CMK 在将导出数据写入 S3 时设置 AWS KMS 服务器端加密。有关更多信息,请参阅加密 Amazon RDS 资源

    3. 创建一个 AWS Identity and Access Management (IAM) 角色,用于授予快照导出任务对 S3 存储桶的访问权限。有关更多信息,请参阅使用 IAM 角色提供对 Amazon S3 存储桶的访问权限

  3. 使用控制台或 start-export-task CLI 命令将快照导出到 Amazon S3。有关更多信息,请参阅将快照导出到 Amazon S3 存储桶

  4. 要访问 Amazon S3 存储桶中导出的数据,请参阅 Amazon Simple Storage Service 控制台用户指南 中的上传、下载和管理对象

设置 Amazon S3 存储桶的访问权限

要将数据库快照数据导出到 Amazon S3 文件,首先需要授予快照访问 Amazon S3 存储桶的权限。然后,您创建 IAM 角色以允许 Amazon RDS 服务写入 Amazon S3 存储桶。

标识要导出到的 Amazon S3 存储桶

标识要将数据库快照导出到的 Amazon S3 存储桶。使用现有 S3 存储桶或创建新的 S3 存储桶。

注意

要导出到的 S3 存储桶必须与快照位于同一 AWS 区域中。

有关使用 Amazon S3 存储桶的更多信息,请参阅 Amazon Simple Storage Service 控制台用户指南 中的如何查看 S3 存储桶的属性?如何为 Amazon S3 存储桶启用默认加密?以及如何创建 S3 存储桶?

使用 IAM 角色提供对 Amazon S3 存储桶的访问权限

将数据库快照数据导出到 Amazon S3 之前,请授予快照导出任务对 Amazon S3 存储桶的写入访问权限。

为此,请创建一个 IAM 策略以提供对存储桶的访问权限。然后,创建一个 IAM 角色并将策略附加到该角色。您稍后将此 IAM 角色分配给快照导出任务。

重要

如果计划使用 AWS 管理控制台 导出快照,则可以选择在导出快照时自动创建 IAM 策略和角色。有关说明,请参阅 将快照导出到 Amazon S3 存储桶

授予数据库快照任务访问 Amazon S3 的权限

  1. 创建一个 IAM 策略。此策略提供允许快照导出任务访问 Amazon S3 的存储桶和对象权限。

    在策略中包含以下必需操作,以允许将文件从 Amazon RDS 存储桶传输到 S3 存储桶:

    • s3:PutObject*

    • s3:GetObject*

    • s3:ListBucket

    • s3:DeleteObject*

    • s3:GetBucketLocation

    在策略中包含以下资源以标识 S3 存储桶以及该存储桶中的对象。以下资源列表显示用于访问 Amazon S3 的 Amazon 资源名称 (ARN) 格式。

    • arn:aws:s3:::your-s3-bucket

    • arn:aws:s3:::your-s3-bucket/*

    有关为 Amazon RDS 创建 IAM 策略的更多信息,请参阅创建和使用适用于 IAM 数据库访问的 IAM 策略。另请参阅 IAM 用户指南 中的教程:创建和附加您的第一个客户托管策略

    以下 AWS CLI 命令使用这些选项创建一个名为 ExportPolicy 的 IAM 策略。它授予名为 your-s3-bucket 的存储桶的访问权限。

    注意

    创建策略后,请记下策略的 ARN。在将策略附加到 IAM 角色时,您在后面的步骤中需要使用 ARN。

    aws iam create-policy --policy-name ExportPolicy --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::*" ] }, { "Effect": "Allow", "Action": [ "s3:PutObject*", "s3:GetObject*", "s3:DeleteObject*" ], "Resource": [ "arn:aws:s3:::your-s3-bucket", "arn:aws:s3:::your-s3-bucket/*" ] } ] }'
  2. 创建一个 IAM 角色。这样,Amazon RDS 就可以代入该 IAM 角色以代表您访问 Amazon S3 存储桶。有关更多信息,请参阅 IAM 用户指南 中的创建向 IAM 用户委派权限的角色

    以下示例说明了如何使用 AWS CLI 命令创建一个名为 rds-s3-export-role 的角色。

    aws iam create-role --role-name rds-s3-export-role --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "export.rds.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }'
  3. 将您创建的 IAM 策略附加到您创建的 IAM 角色。

    以下 AWS CLI 命令将之前创建的策略附加到名为 rds-s3-export-role 的角色。将 your-policy-arn 替换为您在先前步骤中记下的策略 ARN。

    aws iam attach-role-policy --policy-arn your-policy-arn --role-name rds-s3-export-role

将快照导出到 Amazon S3 存储桶

每个账户最多可以执行五个并发数据库快照导出任务。

注意

导出 RDS 快照可能需要一段时间,具体取决于您的数据库类型和大小。导出任务首先还原和伸缩整个数据库,然后再将数据提取到 Amazon S3。此阶段的任务进度显示为正在启动。当任务切换到将数据导出到 Amazon S3 时,进度显示为正在进行

完成导出所需的时间取决于数据库中存储的数据。例如,具有分布良好的数字主键或索引列的表导出速度最快。不包含适用于分区的列的表,以及只有基于字符串的列上的一个索引的表将需要更长时间,因为导出使用较慢的单线程进程。

您可以使用 AWS 管理控制台、Amazon S3 或 RDS API 将数据库快照导出到 AWS CLI。

导出数据库快照

  1. 登录 AWS 管理控制台 并通过以下网址打开 Amazon RDS 控制台:https://console.amazonaws.cn/rds/

  2. 在导航窗格中,选择快照

  3. 从选项卡中,选择要导出的快照类型。

  4. 在快照列表中,选择要导出的快照。

  5. 对于 Actions (操作),选择 Export to Amazon S3 (导出到 Amazon S3)

    此时将显示 Export to Amazon S3 (导出到 Amazon S3) 窗口。

  6. 对于 Export identifier (导出标识符),输入用于标识导出任务的名称。此值也用于在 S3 存储桶中创建的文件的名称。

  7. 选择要导出的数据量:

    • 选择 All (全部) 可导出快照中的所有数据。

    • 选择 Partial (部分) 可导出快照的特定部分。要标识要导出快照的哪些部分,请为 Identifiers (标识符) 输入一个或多个表。

  8. 对于 S3 bucket (S3 存储桶),选择要导出到的存储桶。

    要将导出的数据分配给 S3 存储桶中的文件夹路径,请为 S3 prefix (S3 前缀) 输入可选路径。

  9. 对于 IAM role (IAM 角色),请选择一个角色以授予您对所选 S3 存储桶的写入访问权限,或创建新角色。

    • 如果您按照 使用 IAM 角色提供对 Amazon S3 存储桶的访问权限中的步骤创建了角色,请选择该角色。

    • 如果您没有创建授予您对所选 S3 存储桶的写入访问权限的角色,请选择 Create a new role (创建新角色) 来自动创建该角色。接下来,在 IAM role name (IAM 角色名称) 中输入角色的名称。

  10. 对于 Master key (主密钥),输入要用于加密导出数据的密钥的 ARN。

  11. 选择 Export to Amazon S3 (导出到 Amazon S3)

要使用 AWS CLI 将数据库快照导出到 Amazon S3,请使用包含以下所需选项的 start-export-task 命令:

  • --export-task-identifier

  • --source-arn

  • --s3-bucket-name

  • --iam-role-arn

  • --kms-key-id

在以下示例中,快照导出任务名为 my_snapshot_export,该任务将快照导出到名为 my_export_bucket 的 S3 存储桶。

对于 Linux、macOS 或 Unix:

aws rds start-export-task \ --export-task-identifier my_snapshot_export \ --source-arn arn:aws:rds:AWS_Region:123456789012:snapshot:snapshot_name \ --s3-bucket-name my_export_bucket \ --iam-role-arn iam_role \ --kms-key-id master_key

对于 Windows:

aws rds start-export-task ^ --export-task-identifier my_snapshot_export ^ --source-arn arn:aws:rds:AWS_Region:123456789012:snapshot:snapshot_name ^ --s3-bucket-name my_export_bucket ^ --iam-role-arn iam_role ^ --kms-key-id master_key

示例输出如下。

{ "Status": "STARTING", "IamRoleArn": "iam_role", "ExportTime": "2019-08-12T01:23:53.109Z", "S3Bucket": "my_export_bucket", "PercentProgress": 0, "KmsKeyId": "master_key", "ExportTaskIdentifier": "my_snapshot_export", "TotalExtractedDataInGB": 0, "TaskStartTime": "2019-11-13T19:46:00.173Z", "SourceArn": "arn:aws:rds:AWS_Region:123456789012:snapshot:snapshot_name" }

要在 S3 存储桶中为快照导出提供文件夹路径,请在 start-export-task 命令中包含 --s3-prefix 选项。

要使用 Amazon RDS API 将数据库快照导出到 Amazon S3,请使用包含以下所需参数的 StartExportTask 操作:

  • ExportTaskIdentifier

  • SourceArn

  • S3BucketName

  • IamRoleArn

  • KmsKeyId

监控快照导出

您可以使用 AWS 管理控制台、AWS CLI 或 RDS API 监控数据库快照导出。

监视数据库快照导出

  1. 登录 AWS 管理控制台 并通过以下网址打开 Amazon RDS 控制台:https://console.amazonaws.cn/rds/

  2. 在导航窗格中,选择快照

  3. 要查看快照导出的列表,请选择 Amazon S3 中的导出选项卡。

  4. 要查看有关特定快照导出的信息,请选择导出任务。

要使用 AWS CLI 监控数据库快照导出,请使用 describe-export-tasks 命令。

以下示例说明如何显示有关所有快照导出的当前信息。

aws rds describe-export-tasks { "ExportTasks": [ { "Status": "CANCELED", "TaskEndTime": "2019-11-01T17:36:46.961Z", "S3Prefix": "something", "ExportTime": "2019-10-24T20:23:48.364Z", "S3Bucket": "examplebucket", "PercentProgress": 0, "KmsKeyId": "arn:aws:kms:AWS_Region:123456789012:key/K7MDENG/bPxRfiCYEXAMPLEKEY", "ExportTaskIdentifier": "anewtest", "IamRoleArn": "arn:aws:iam::123456789012:role/export-to-s3", "TotalExtractedDataInGB": 0, "TaskStartTime": "2019-10-25T19:10:58.885Z", "SourceArn": "arn:aws:rds:AWS_Region:123456789012:snapshot:parameter-groups-test" }, { "Status": "COMPLETE", "TaskEndTime": "2019-10-31T21:37:28.312Z", "WarningMessage": "{\"skippedTables\":[],\"skippedObjectives\":[],\"general\":[{\"reason\":\"FAILED_TO_EXTRACT_TABLES_LIST_FOR_DATABASE\"}]}", "S3Prefix": "", "ExportTime": "2019-10-31T06:44:53.452Z", "S3Bucket": "examplebucket1", "PercentProgress": 100, "KmsKeyId": "arn:aws:kms:AWS_Region:123456789012:key/2Zp9Utk/h3yCo8nvbEXAMPLEKEY", "ExportTaskIdentifier": "thursday-events-test", "IamRoleArn": "arn:aws:iam::123456789012:role/export-to-s3", "TotalExtractedDataInGB": 263, "TaskStartTime": "2019-10-31T20:58:06.998Z", "SourceArn": "arn:aws:rds:AWS_Region:123456789012:snapshot:rds:example-1-2019-10-31-06-44" }, { "Status": "FAILED", "TaskEndTime": "2019-10-31T02:12:36.409Z", "FailureCause": "The S3 bucket edgcuc-export isn't located in the current AWS Region. Please, review your S3 bucket name and retry the export.", "S3Prefix": "", "ExportTime": "2019-10-30T06:45:04.526Z", "S3Bucket": "examplebucket2", "PercentProgress": 0, "KmsKeyId": "arn:aws:kms:AWS_Region:123456789012:key/2Zp9Utk/h3yCo8nvbEXAMPLEKEY", "ExportTaskIdentifier": "wednesday-afternoon-test", "IamRoleArn": "arn:aws:iam::123456789012:role/export-to-s3", "TotalExtractedDataInGB": 0, "TaskStartTime": "2019-10-30T22:43:40.034Z", "SourceArn": "arn:aws:rds:AWS_Region:123456789012:snapshot:rds:example-1-2019-10-30-06-45" } ] }

要显示有关特定快照导出的信息,请在 describe-export-tasks 命令中包含 --export-task-identifier 选项。要筛选输出,请包括 --Filters 选项。有关更多选项,请参阅 describe-export-tasks 命令。

要使用 Amazon RDS API 显示有关数据库快照导出的信息,请使用 DescribeExportTasks 操作。

要跟踪导出工作流程的完成情况或触发其他工作流程,您可以订阅 Amazon Simple Notification Service 主题。有关 Amazon SNS 的更多信息,请参阅使用 Amazon RDS 事件通知

取消快照导出任务

您可以使用 AWS 管理控制台、AWS CLI 或 RDS API 取消数据库快照导出任务。

注意

取消快照导出任务不会删除导出到 Amazon S3 的任何数据。有关如何使用控制台删除数据的信息,请参阅如何从 S3 存储桶删除对象? 要使用 CLI 删除数据,请使用 delete-object 命令。

取消快照导出任务

  1. 登录 AWS 管理控制台 并通过以下网址打开 Amazon RDS 控制台:https://console.amazonaws.cn/rds/

  2. 在导航窗格中,选择快照

  3. 选择 Exports in Amazon S3 (Amazon S3 中的导出) 选项卡。

  4. 选择要取消的快照导出任务。

  5. 选择 Cancel (取消)

  6. 在确认页面上选择 Cancel export task (取消导出任务)

要使用 AWS CLI 取消快照导出任务,请使用 cancel-export-task 命令。该命令需要 --export-task-identifier 选项。

aws rds cancel-export-task --export-task-identifier my_export { "Status": "CANCELING", "S3Prefix": "", "ExportTime": "2019-08-12T01:23:53.109Z", "S3Bucket": "examplebucket", "PercentProgress": 0, "KmsKeyId": "arn:aws:kms:AWS_Region:123456789012:key/K7MDENG/bPxRfiCYEXAMPLEKEY", "ExportTaskIdentifier": "my_export", "IamRoleArn": "arn:aws:iam::123456789012:role/export-to-s3", "TotalExtractedDataInGB": 0, "TaskStartTime": "2019-11-13T19:46:00.173Z", "SourceArn": "arn:aws:rds:AWS_Region:123456789012:snapshot:export-example-1" }

要使用 Amazon RDS API 取消快照导出任务,请使用带 ExportTaskIdentifier 参数的 CancelExportTask 操作。

排查 PostgreSQL 权限错误

将 PostgreSQL 数据库导出到 Amazon S3 时,您可能会看到 PERMISSIONS_DO_NOT_EXIST 错误,指出已跳过某些表。这通常是由超级用户引起的,该超级用户是在创建数据库实例时指定的,但没有访问这些表的权限。

要修复此错误,请运行以下命令:

GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA schema_name TO superuser_name

有关超级用户权限的更多信息,请参阅 主用户账户权限

导出到 Amazon S3 存储桶时的数据转换

将数据库快照导出到 Amazon S3 存储桶时,Amazon RDS 以 Parquet 格式转换数据、导出数据并存储数据。有关 Parquet 的更多信息,请参阅 Apache Parquet 网站。

Parquet 将所有数据存储为以下原始类型之一:

  • BOOLEAN

  • INT32

  • INT64

  • INT96

  • FLOAT

  • DOUBLE

  • BYTE_ARRAY – 一个可变长度的字节数组,也称为二进制

  • FIXED_LEN_BYTE_ARRAY – 当值具有恒定大小时使用的固定长度字节数组

Parquet 数据类型很少能减少读取和写入格式的复杂性。Parquet 提供了用于扩展原始类型的逻辑类型。逻辑类型实现为具有 LogicalType 元数据字段中数据的注释。逻辑类型注释说明如何解释原始类型。

STRING 逻辑类型注释 BYTE_ARRAY 类型时,它表示字节数组应被解释为 UTF-8 编码的字符串。导出任务完成后,如果发生了任何字符串转换,则 Amazon RDS 会通知您。导出的基础数据始终与源中的数据相同。但是,由于 UTF-8 中的编码差异,在工具(如 Athena)中读取时,某些字符可能会显示与源不同。

有关详细信息,请参阅 Parquet 文档中的 Parquet 逻辑类型定义

注意
  • 数据库表列名中不支持某些字符。在导出过程中会跳过列名中包含以下字符的表。

    ,;{}()\n\t=
  • 如果数据包含接近或大于 500 MB 的巨大值,则导出失败。

  • 如果数据库、架构或表名包含空格,则不支持部分导出。但是,您可以导出整个数据库快照。

MySQL 和 MariaDB 数据类型到 Parquet 的映射

下表显示在将数据转换并导出到 Amazon S3 时从 MySQL 和 MariaDB 数据类型到 Parquet 数据类型的映射。

源数据类型 Parquet 原始类型 逻辑类型注释 转换说明
数字数据类型
BIGINT INT64
BIGINT UNSIGNED FIXED_LEN_BYTE_ARRAY(9) DECIMAL(20,0) Parquet 仅支持签名类型,因此映射需要额外的字节(8 加 1)来存储 BIIGINT_UNLOGITS 类型。
BIT BYTE_ARRAY
DECIMAL INT32 DECIMAL (p,s) 如果源值小于 231,它其存储为 INT32。
INT64 DECIMAL (p,s) 如果源值等于或大于 231,但小于 263,它将存储为 INT64。
FIXED_LEN_BYTE_ARRAY(N) DECIMAL (p,s) 如果源值等于或大于 263,则将它存储为 FIXED_LEN_BYTE_ARRAY(N)。
BYTE_ARRAY STRING Parquet 不支持大于 38 的小数精度。十进制值转换为 BYTE_ARY 类型的字符串,并编码为 UTF8。
DOUBLE DOUBLE
FLOAT DOUBLE
INT INT32
INT UNSIGNED INT64
MEDIUMINT INT32
MEDIUMINT UNSIGNED INT64
NUMERIC INT32 DECIMAL (p,s)

如果源值小于 231,它其存储为 INT32。

INT64 DECIMAL (p,s) 如果源值等于或大于 231,但小于 263,它将存储为 INT64。
FIXED_LEN_ARRAY(N) DECIMAL (p,s) 如果源值等于或大于 263,则将它存储为 FIXED_LEN_BYTE_ARRAY(N)。
BYTE_ARRAY STRING Parquet 不支持大于 38 的数值精度。此数值类型的值转换为 BYTE_ARY 类型的字符串,并编码为 UTF8。
SMALLINT INT32
SMALLINT UNSIGNED INT32
TINYINT INT32
TINYINT UNSIGNED INT32
字符串数据类型
BINARY BYTE_ARRAY
BLOB BYTE_ARRAY
CHAR BYTE_ARRAY
ENUM BYTE_ARRAY STRING
LINESTRING BYTE_ARRAY
LONGBLOB BYTE_ARRAY
LONGTEXT BYTE_ARRAY STRING
MEDIUMBLOB BYTE_ARRAY
MEDIUMTEXT BYTE_ARRAY STRING
MULTILINESTRING BYTE_ARRAY
SET BYTE_ARRAY STRING
TEXT BYTE_ARRAY STRING
TINYBLOB BYTE_ARRAY
TINYTEXT BYTE_ARRAY STRING
VARBINARY BYTE_ARRAY
VARCHAR BYTE_ARRAY STRING
日期和时间数据类型
DATE BYTE_ARRAY STRING 日期将转换为 BYTE_ARRAY 类型的字符串,并编码为 UTF8。
DATETIME INT64 TIMESTAMP_MICROS
TIME BYTE_ARRAY STRING TIME 类型转换为 BYTE_ARRAY 类型的字符串,并编码为 UTF8。
TIMESTAMP INT64 TIMESTAMP_MICROS
YEAR INT32
几何数据类型
GEOMETRY BYTE_ARRAY
GEOMETRYCOLLECTION BYTE_ARRAY
MULTIPOINT BYTE_ARRAY
MULTIPOLYGON BYTE_ARRAY
POINT BYTE_ARRAY
POLYGON BYTE_ARRAY
JSON 数据类型
JSON BYTE_ARRAY STRING

PostgreSQL 数据类型到 Parquet 的映射

下表显示在将数据转换并导出到 Amazon S3 时从 PostgreSQL 数据类型到 Parquet 数据类型的映射。

PostgreSQL 数据类型 Parquet 原始类型 逻辑类型注释 映射注释
数字数据类型
BIGINT INT64
BIGSERIAL INT64
DECIMAL BYTE_ARRAY STRING DECIMAL 类型转换为 BYTE_ARRAY 类型的字符串,并编码为 UTF8。

此转换是为了避免由于数据精度和非数字 (NaN) 的数据值而引起的复杂性。

DOUBLE PRECISION DOUBLE
INTEGER INT32
MONEY BYTE_ARRAY STRING
REAL FLOAT
SERIAL INT32
SMALLINT INT32 INT_16
SMALLSERIAL INT32 INT_16
字符串和相关数据类型
ARRAY BYTE_ARRAY STRING

数组转换为字符串并编码为 BINARY (UTF8)。

此转换是为了避免因数据精度、非数字 (NaN) 的数据值和时间数据值而产生的复杂性。

BIT BYTE_ARRAY STRING
BIT VARYING BYTE_ARRAY STRING
BYTEA BINARY
CHAR BYTE_ARRAY STRING
CHAR(N) BYTE_ARRAY STRING
ENUM BYTE_ARRAY STRING
NAME BYTE_ARRAY STRING
TEXT BYTE_ARRAY STRING
文本搜索 BYTE_ARRAY STRING
VARCHAR(N) BYTE_ARRAY STRING
XML BYTE_ARRAY STRING
日期和时间数据类型
DATE BYTE_ARRAY STRING
INTERVAL BYTE_ARRAY STRING
TIME BYTE_ARRAY STRING
带时区的时间 BYTE_ARRAY STRING
TIMESTAMP BYTE_ARRAY STRING
TIMESTAMP(有时区) BYTE_ARRAY STRING
几何数据类型
BOX BYTE_ARRAY STRING
CIRCLE BYTE_ARRAY STRING
LINE BYTE_ARRAY STRING
LINESEGMENT BYTE_ARRAY STRING
路径 BYTE_ARRAY STRING
POINT BYTE_ARRAY STRING
POLYGON BYTE_ARRAY STRING
JSON 数据类型
JSON BYTE_ARRAY STRING
JSONB BYTE_ARRAY STRING
其他数据类型
BOOLEAN BOOLEAN
CIDR BYTE_ARRAY STRING 网络数据类型
COMPOSITE BYTE_ARRAY STRING
DOMAIN BYTE_ARRAY STRING
INET BYTE_ARRAY STRING 网络数据类型
MACADDR BYTE_ARRAY STRING
对象标识符 不适用
PG_LSN BYTE_ARRAY STRING
RANGE BYTE_ARRAY STRING
UUID BYTE_ARRAY STRING