AWS::DMS::Endpoint PostgreSqlSettings - AWS CloudFormation

AWS::DMS::Endpoint PostgreSqlSettings

Provides information that defines a PostgreSQL endpoint. This information includes the output format of records applied to the endpoint and details of transaction and control table data information. For information about other available settings, see Extra connection attributes when using PostgreSQL as a source for AWS DMS and Extra connection attributes when using PostgreSQL as a target for AWS DMS in the AWS Database Migration Service User Guide.

Syntax

To declare this entity in your AWS CloudFormation template, use the following syntax:

JSON

{ "AfterConnectScript" : String, "CaptureDdls" : Boolean, "DdlArtifactsSchema" : String, "ExecuteTimeout" : Integer, "FailTasksOnLobTruncation" : Boolean, "HeartbeatEnable" : Boolean, "HeartbeatFrequency" : Integer, "HeartbeatSchema" : String, "MaxFileSize" : Integer, "PluginName" : String, "SecretsManagerAccessRoleArn" : String, "SecretsManagerSecretId" : String, "SlotName" : String }

Properties

AfterConnectScript

For use with change data capture (CDC) only, this attribute has AWS DMS bypass foreign keys and user triggers to reduce the time it takes to bulk load data.

Example: afterConnectScript=SET session_replication_role='replica'

Required: No

Type: String

Update requires: No interruption

CaptureDdls

To capture DDL events, AWS DMS creates various artifacts in the PostgreSQL database when the task starts. You can later remove these artifacts.

If this value is set to N, you don't have to create tables or triggers on the source database.

Required: No

Type: Boolean

Update requires: No interruption

DdlArtifactsSchema

The schema in which the operational DDL database artifacts are created.

Example: ddlArtifactsSchema=xyzddlschema;

Required: No

Type: String

Update requires: No interruption

ExecuteTimeout

Sets the client statement timeout for the PostgreSQL instance, in seconds. The default value is 60 seconds.

Example: executeTimeout=100;

Required: No

Type: Integer

Update requires: No interruption

FailTasksOnLobTruncation

When set to true, this value causes a task to fail if the actual size of a LOB column is greater than the specified LobMaxSize.

If task is set to Limited LOB mode and this option is set to true, the task fails instead of truncating the LOB data.

Required: No

Type: Boolean

Update requires: No interruption

HeartbeatEnable

The write-ahead log (WAL) heartbeat feature mimics a dummy transaction. By doing this, it prevents idle logical replication slots from holding onto old WAL logs, which can result in storage full situations on the source. This heartbeat keeps restart_lsn moving and prevents storage full scenarios.

Required: No

Type: Boolean

Update requires: No interruption

HeartbeatFrequency

Sets the WAL heartbeat frequency (in minutes).

Required: No

Type: Integer

Update requires: No interruption

HeartbeatSchema

Sets the schema in which the heartbeat artifacts are created.

Required: No

Type: String

Update requires: No interruption

MaxFileSize

Specifies the maximum size (in KB) of any .csv file used to transfer data to PostgreSQL.

Example: maxFileSize=512

Required: No

Type: Integer

Update requires: No interruption

PluginName

Specifies the plugin to use to create a replication slot.

Required: No

Type: String

Update requires: No interruption

SecretsManagerAccessRoleArn

The full Amazon Resource Name (ARN) of the IAM role that specifies AWS DMS as the trusted entity and grants the required permissions to access the value in SecretsManagerSecret. The role must allow the iam:PassRole action. SecretsManagerSecret has the value of the AWS Secrets Manager secret that allows access to the PostgreSQL endpoint.

Note

You can specify one of two sets of values for these permissions. You can specify the values for this setting and SecretsManagerSecretId. Or you can specify clear-text values for UserName, Password, ServerName, and Port. You can't specify both.

For more information on creating this SecretsManagerSecret, the corresponding SecretsManagerAccessRoleArn, and the SecretsManagerSecretId that is required to access it, see Using secrets to access AWS Database Migration Service resources in the AWS Database Migration Service User Guide.

Required: No

Type: String

Update requires: No interruption

SecretsManagerSecretId

The full ARN, partial ARN, or display name of the SecretsManagerSecret that contains the PostgreSQL endpoint connection details.

Required: No

Type: String

Update requires: No interruption

SlotName

Sets the name of a previously created logical replication slot for a change data capture (CDC) load of the PostgreSQL source instance.

When used with the CdcStartPosition request parameter for the AWS DMS API , this attribute also makes it possible to use native CDC start points. DMS verifies that the specified logical replication slot exists before starting the CDC load task. It also verifies that the task was created with a valid setting of CdcStartPosition. If the specified slot doesn't exist or the task doesn't have a valid CdcStartPosition setting, DMS raises an error.

For more information about setting the CdcStartPosition request parameter, see Determining a CDC native start point in the AWS Database Migration Service User Guide. For more information about using CdcStartPosition, see CreateReplicationTask, StartReplicationTask, and ModifyReplicationTask.

Required: No

Type: String

Update requires: No interruption