{"record":{"id":"a29f9b04c4c09a4e","repo":"apache/seatunnel","slug":"the-timestamp-tz-column-type-timestamptz-is","errorCode":null,"errorMessage":"The timestamp_tz column {} type timestamptz({}) is out of range, which exceeds the maximum scale of {}, it will be converted to timestamptz({})","messagePattern":"The timestamp_tz column (.+?) type timestamptz\\((.+?)\\) is out of range, which exceeds the maximum scale of (.+?), it will be converted to timestamptz\\((.+?)\\)","errorType":"console","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"seatunnel-connectors-v2/connector-jdbc/src/main/java/org/apache/seatunnel/connectors/seatunnel/jdbc/internal/dialect/redshift/RedshiftTypeConverter.java","lineNumber":380,"sourceCode":"                    timestampScale = MAX_TIMESTAMP_SCALE;\n                    log.warn(\n                            \"The timestamp column {} type timestamp({}) is out of range, \"\n                                    + \"which exceeds the maximum scale of {}, \"\n                                    + \"it will be converted to timestamp({})\",\n                            column.getName(),\n                            column.getScale(),\n                            MAX_TIMESTAMP_SCALE,\n                            timestampScale);\n                }\n                builder.columnType(REDSHIFT_TIMESTAMP);\n                builder.dataType(REDSHIFT_TIMESTAMP);\n                builder.scale(timestampScale);\n                break;\n            case TIMESTAMP_TZ:\n                Integer timestampTzScale = column.getScale();\n                if (timestampTzScale != null && timestampTzScale > MAX_TIMESTAMP_SCALE) {\n                    timestampTzScale = MAX_TIMESTAMP_SCALE;\n                    log.warn(\n                            \"The timestamp_tz column {} type timestamptz({}) is out of range, \"\n                                    + \"which exceeds the maximum scale of {}, \"\n                                    + \"it will be converted to timestamptz({})\",\n                            column.getName(),\n                            column.getScale(),\n                            MAX_TIMESTAMP_SCALE,\n                            timestampTzScale);\n                }\n                builder.columnType(REDSHIFT_TIMESTAMPTZ);\n                builder.dataType(REDSHIFT_TIMESTAMPTZ);\n                builder.scale(timestampTzScale);\n                break;\n            case MAP:\n            case ARRAY:\n            case ROW:\n                builder.columnType(REDSHIFT_SUPER);\n                builder.dataType(REDSHIFT_SUPER);\n                break;","sourceCodeStart":362,"sourceCodeEnd":398,"githubUrl":"https://github.com/apache/seatunnel/blob/cf67b549a7a6c35fa0beb12d83c62892427ea919/seatunnel-connectors-v2/connector-jdbc/src/main/java/org/apache/seatunnel/connectors/seatunnel/jdbc/internal/dialect/redshift/RedshiftTypeConverter.java#L362-L398","documentation":"WARN log from RedshiftTypeConverter.reconvert for TIMESTAMP_TZ (timestamptz) columns. If the declared scale exceeds MAX_TIMESTAMP_SCALE, the converter clamps it and logs this warning; the generated timestamptz(p) DDL uses the clamped scale. Sub-second precision beyond the cap is lost.","triggerScenarios":"Auto-creating a Redshift table where a TIMESTAMP_TZ column's getScale() exceeds MAX_TIMESTAMP_SCALE; raised in reconvert().","commonSituations":"Sources with timezone-aware timestamps at nanosecond precision (e.g. PostgreSQL timestamptz(6+), protobuf Timestamp) written to Redshift with auto table creation.","solutions":["Cast the column to a supported timestamptz scale before the sink","Pre-create the Redshift table with the desired timestamptz(p)","Accept the clamped scale"],"exampleFix":null,"handlingStrategy":"validation","validationCode":"if (col.getScale() != null && col.getScale() > maxTimestampScale) {\n    // CAST(ts AS TIMESTAMPTZ(maxTimestampScale)) before the sink\n}","typeGuard":"boolean timestamptzScaleFits(Integer scale, int max) { return scale == null || scale <= max; }","tryCatchPattern":null,"preventionTips":["Standardize timezone-aware timestamp precision pipeline-wide","Pre-create tables with timestamptz(p)","Review converter WARN logs after schema changes"],"tags":["jdbc","redshift","type-conversion","timestamptz-scale"],"backgroundTag":"value-out-of-range","analyzedSha":"cf67b549a7a6c35fa0beb12d83c62892427ea919","analyzedAt":"2026-09-10T21:44:55.265Z","contentChangedAt":"2026-09-10T21:44:55.265Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}