class Aws::DatabaseMigrationService::Types::PostgreSQLSettings

Provides information that defines a PostgreSQL endpoint.

@note When making an API call, you may pass PostgreSQLSettings

data as a hash:

    {
      after_connect_script: "String",
      capture_ddls: false,
      max_file_size: 1,
      database_name: "String",
      ddl_artifacts_schema: "String",
      execute_timeout: 1,
      fail_tasks_on_lob_truncation: false,
      heartbeat_enable: false,
      heartbeat_schema: "String",
      heartbeat_frequency: 1,
      password: "SecretString",
      port: 1,
      server_name: "String",
      username: "String",
      slot_name: "String",
      plugin_name: "no-preference", # accepts no-preference, test-decoding, pglogical
      secrets_manager_access_role_arn: "String",
      secrets_manager_secret_id: "String",
    }

@!attribute [rw] after_connect_script

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

Example: `afterConnectScript=SET session_replication_role='replica'`
@return [String]

@!attribute [rw] capture_ddls

To capture DDL events, 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.
@return [Boolean]

@!attribute [rw] max_file_size

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

Example: `maxFileSize=512`
@return [Integer]

@!attribute [rw] database_name

Database name for the endpoint.
@return [String]

@!attribute [rw] ddl_artifacts_schema

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

Example: `ddlArtifactsSchema=xyzddlschema;`
@return [String]

@!attribute [rw] execute_timeout

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

Example: `executeTimeout=100;`
@return [Integer]

@!attribute [rw] fail_tasks_on_lob_truncation

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.
@return [Boolean]

@!attribute [rw] heartbeat_enable

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.
@return [Boolean]

@!attribute [rw] heartbeat_schema

Sets the schema in which the heartbeat artifacts are created.
@return [String]

@!attribute [rw] heartbeat_frequency

Sets the WAL heartbeat frequency (in minutes).
@return [Integer]

@!attribute [rw] password

Endpoint connection password.
@return [String]

@!attribute [rw] port

Endpoint TCP port.
@return [Integer]

@!attribute [rw] server_name

Fully qualified domain name of the endpoint.
@return [String]

@!attribute [rw] username

Endpoint connection user name.
@return [String]

@!attribute [rw] slot_name

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 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](dms/latest/userguide/CHAP_Task.CDC.html#CHAP_Task.CDC.StartPoint.Native)
in the *Database Migration Service User Guide*. For more information
about using `CdcStartPosition`, see [CreateReplicationTask][1],
[StartReplicationTask][2], and [ModifyReplicationTask][3].

[1]: https://docs.aws.amazon.com/dms/latest/APIReference/API_CreateReplicationTask.html
[2]: https://docs.aws.amazon.com/dms/latest/APIReference/API_StartReplicationTask.html
[3]: https://docs.aws.amazon.com/dms/latest/APIReference/API_ModifyReplicationTask.html
@return [String]

@!attribute [rw] plugin_name

Specifies the plugin to use to create a replication slot.
@return [String]

@!attribute [rw] secrets_manager_access_role_arn

The full Amazon Resource Name (ARN) of the IAM role that specifies
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
Amazon Web Services Secrets Manager secret that allows access to the
PostgreSQL endpoint.

<note markdown="1"> 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`
and the `SecretsManagerAccessRoleArn` and `SecretsManagerSecretId`
required to access it, see [Using secrets to access Database
Migration Service resources][1] in the *Database Migration Service
User Guide*.

 </note>

[1]: https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager
@return [String]

@!attribute [rw] secrets_manager_secret_id

The full ARN, partial ARN, or friendly name of the
`SecretsManagerSecret` that contains the PostgreSQL endpoint
connection details.
@return [String]

@see docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/PostgreSQLSettings AWS API Documentation

Constants

SENSITIVE