Class PostgreSQLSettings

    • Method Detail

      • 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.

        The default value is true.

        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.

        The default value is true.

        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.

        The default value is 32,768 KB (32 MB).

        Example: maxFileSize=512

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

        The default value is 32,768 KB (32 MB).

        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.

        The default value is public.

        Example: ddlArtifactsSchema=xyzddlschema;

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

        The default value is public.

        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.

        The default value is false.

        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.

        The default value is false.

        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.

        The default value is false.

        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.

        The default value is false.

      • heartbeatSchema

        public final String heartbeatSchema()

        Sets the schema in which the heartbeat artifacts are created.

        The default value is public.

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

        The default value is public.

      • heartbeatFrequency

        public final Integer heartbeatFrequency()

        Sets the WAL heartbeat frequency (in minutes).

        The default value is 5 minutes.

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

        The default value is 5 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.

        The default value is pglogical.

        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.

        The default value is pglogical.

        See Also:
        PluginNameValue
      • pluginNameAsString

        public final String pluginNameAsString()

        Specifies the plugin to use to create a replication slot.

        The default value is pglogical.

        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.

        The default value is pglogical.

        See Also:
        PluginNameValue
      • 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.

        The default value is false.

        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.

        The default value is false.

      • mapJsonbAsClob

        public final Boolean mapJsonbAsClob()

        When true, DMS migrates JSONB values as CLOB.

        The default value is false.

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

        The default value is false.

      • mapLongVarcharAsAsString

        public final String mapLongVarcharAsAsString()

        Sets what datatype to map LONG values as.

        The default value is wstring.

        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:
        Sets what datatype to map LONG values as.

        The default value is wstring.

        See Also:
        LongVarcharMappingType
      • 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:
        DatabaseMode
      • 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:
        DatabaseMode
      • 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.
      • disableUnicodeSourceFilter

        public final Boolean disableUnicodeSourceFilter()

        Disables the Unicode source filter with PostgreSQL, for values passed into the Selection rule filter on Source Endpoint column values. By default DMS performs source filter comparisons using a Unicode string which can cause look ups to ignore the indexes in the text columns and slow down migrations.

        Unicode support should only be disabled when using a selection rule filter is on a text column in the Source database that is indexed.

        Returns:
        Disables the Unicode source filter with PostgreSQL, for values passed into the Selection rule filter on Source Endpoint column values. By default DMS performs source filter comparisons using a Unicode string which can cause look ups to ignore the indexes in the text columns and slow down migrations.

        Unicode support should only be disabled when using a selection rule filter is on a text column in the Source database that is indexed.

      • serviceAccessRoleArn

        public final String serviceAccessRoleArn()

        The IAM role arn you can use to authenticate the connection to your endpoint. Ensure to include iam:PassRole and rds-db:connect actions in permission policy.

        Returns:
        The IAM role arn you can use to authenticate the connection to your endpoint. Ensure to include iam:PassRole and rds-db:connect actions in permission policy.
      • hashCode

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

        public final boolean equals​(Object obj)
        Overrides:
        equals in class Object
      • 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)