java.lang.Object
software.amazon.awssdk.services.databasemigration.model.PostgreSQLSettings
All Implemented Interfaces:
Serializable, SdkPojo, ToCopyableBuilder<PostgreSQLSettings.Builder,PostgreSQLSettings>

@Generated("software.amazon.awssdk:codegen") public final class PostgreSQLSettings extends Object implements SdkPojo, Serializable, ToCopyableBuilder<PostgreSQLSettings.Builder,PostgreSQLSettings>

Provides information that defines a PostgreSQL endpoint.

See Also:
  • Method Details

    • afterConnectScript

      public final String afterConnectScript()

      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'

      Returns:
      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'

    • captureDdls

      public final Boolean captureDdls()

      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.

      Returns:
      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.

    • maxFileSize

      public final Integer maxFileSize()

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

      Example: maxFileSize=512

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

      Example: maxFileSize=512

    • databaseName

      public final String databaseName()

      Database name for the endpoint.

      Returns:
      Database name for the endpoint.
    • ddlArtifactsSchema

      public final String ddlArtifactsSchema()

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

      Example: ddlArtifactsSchema=xyzddlschema;

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

      Example: ddlArtifactsSchema=xyzddlschema;

    • executeTimeout

      public final Integer executeTimeout()

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

      Example: executeTimeout=100;

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

      Example: executeTimeout=100;

    • failTasksOnLobTruncation

      public final Boolean 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.

      Returns:
      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.

    • heartbeatEnable

      public final Boolean 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.

      Returns:
      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.
    • heartbeatSchema

      public final String heartbeatSchema()

      Sets the schema in which the heartbeat artifacts are created.

      Returns:
      Sets the schema in which the heartbeat artifacts are created.
    • heartbeatFrequency

      public final Integer heartbeatFrequency()

      Sets the WAL heartbeat frequency (in minutes).

      Returns:
      Sets the WAL heartbeat frequency (in minutes).
    • password

      public final String password()

      Endpoint connection password.

      Returns:
      Endpoint connection password.
    • port

      public final Integer port()

      Endpoint TCP port. The default is 5432.

      Returns:
      Endpoint TCP port. The default is 5432.
    • serverName

      public final String serverName()

      The host name of the endpoint database.

      For an Amazon RDS PostgreSQL instance, this is the output of DescribeDBInstances, in the Endpoint.Address field.

      For an Aurora PostgreSQL instance, this is the output of DescribeDBClusters, in the Endpoint field.

      Returns:
      The host name of the endpoint database.

      For an Amazon RDS PostgreSQL instance, this is the output of DescribeDBInstances, in the Endpoint.Address field.

      For an Aurora PostgreSQL instance, this is the output of DescribeDBClusters, in the Endpoint field.

    • username

      public final String username()

      Endpoint connection user name.

      Returns:
      Endpoint connection user name.
    • slotName

      public final String 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 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 Database Migration Service User Guide. For more information about using CdcStartPosition, see CreateReplicationTask, StartReplicationTask, and ModifyReplicationTask.

      Returns:
      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 in the Database Migration Service User Guide. For more information about using CdcStartPosition, see CreateReplicationTask, StartReplicationTask, and ModifyReplicationTask.

    • pluginName

      public final PluginNameValue pluginName()

      Specifies the plugin to use to create a replication slot.

      If the service returns an enum value that is not available in the current SDK version, pluginName will return PluginNameValue.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from pluginNameAsString().

      Returns:
      Specifies the plugin to use to create a replication slot.
      See Also:
    • pluginNameAsString

      public final String pluginNameAsString()

      Specifies the plugin to use to create a replication slot.

      If the service returns an enum value that is not available in the current SDK version, pluginName will return PluginNameValue.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from pluginNameAsString().

      Returns:
      Specifies the plugin to use to create a replication slot.
      See Also:
    • secretsManagerAccessRoleArn

      public final String secretsManagerAccessRoleArn()

      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.

      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 in the Database Migration Service User Guide.

      Returns:
      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.

      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 in the Database Migration Service User Guide.

    • secretsManagerSecretId

      public final String secretsManagerSecretId()

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

      Returns:
      The full ARN, partial ARN, or friendly name of the SecretsManagerSecret that contains the PostgreSQL endpoint connection details.
    • trimSpaceInChar

      public final Boolean trimSpaceInChar()

      Use the TrimSpaceInChar source endpoint setting to trim data on CHAR and NCHAR data types during migration. The default value is true.

      Returns:
      Use the TrimSpaceInChar source endpoint setting to trim data on CHAR and NCHAR data types during migration. The default value is true.
    • mapBooleanAsBoolean

      public final Boolean mapBooleanAsBoolean()

      When true, lets PostgreSQL migrate the boolean type as boolean. By default, PostgreSQL migrates booleans as varchar(5). You must set this setting on both the source and target endpoints for it to take effect.

      Returns:
      When true, lets PostgreSQL migrate the boolean type as boolean. By default, PostgreSQL migrates booleans as varchar(5). You must set this setting on both the source and target endpoints for it to take effect.
    • mapJsonbAsClob

      public final Boolean mapJsonbAsClob()

      When true, DMS migrates JSONB values as CLOB.

      Returns:
      When true, DMS migrates JSONB values as CLOB.
    • mapLongVarcharAs

      public final LongVarcharMappingType mapLongVarcharAs()

      When true, DMS migrates LONG values as VARCHAR.

      If the service returns an enum value that is not available in the current SDK version, mapLongVarcharAs will return LongVarcharMappingType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from mapLongVarcharAsAsString().

      Returns:
      When true, DMS migrates LONG values as VARCHAR.
      See Also:
    • mapLongVarcharAsAsString

      public final String mapLongVarcharAsAsString()

      When true, DMS migrates LONG values as VARCHAR.

      If the service returns an enum value that is not available in the current SDK version, mapLongVarcharAs will return LongVarcharMappingType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from mapLongVarcharAsAsString().

      Returns:
      When true, DMS migrates LONG values as VARCHAR.
      See Also:
    • databaseMode

      public final DatabaseMode databaseMode()

      Specifies the default behavior of the replication's handling of PostgreSQL- compatible endpoints that require some additional configuration, such as Babelfish endpoints.

      If the service returns an enum value that is not available in the current SDK version, databaseMode will return DatabaseMode.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from databaseModeAsString().

      Returns:
      Specifies the default behavior of the replication's handling of PostgreSQL- compatible endpoints that require some additional configuration, such as Babelfish endpoints.
      See Also:
    • databaseModeAsString

      public final String databaseModeAsString()

      Specifies the default behavior of the replication's handling of PostgreSQL- compatible endpoints that require some additional configuration, such as Babelfish endpoints.

      If the service returns an enum value that is not available in the current SDK version, databaseMode will return DatabaseMode.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from databaseModeAsString().

      Returns:
      Specifies the default behavior of the replication's handling of PostgreSQL- compatible endpoints that require some additional configuration, such as Babelfish endpoints.
      See Also:
    • babelfishDatabaseName

      public final String babelfishDatabaseName()

      The Babelfish for Aurora PostgreSQL database name for the endpoint.

      Returns:
      The Babelfish for Aurora PostgreSQL database name for the endpoint.
    • toBuilder

      public PostgreSQLSettings.Builder toBuilder()
      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<PostgreSQLSettings.Builder,PostgreSQLSettings>
      Returns:
      a builder for type T
    • builder

      public static PostgreSQLSettings.Builder builder()
    • serializableBuilderClass

      public static Class<? extends PostgreSQLSettings.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class Object
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.