Get allowed datatypes for JDBC incremental columns
Overview
Retrieve the list of allowed data types for incremental columns per database plugin. This is useful when configuring JDBC jobs with incremental sync to ensure the selected column type is supported.
Examples
Get Allowed Datatypes
GET /platform/jobs/jdbc/configs/allowed_datatypes
Response (200 OK):
{
"status": true,
"data": {
"postgresql": [
"timestamp with time zone",
"timestamp without time zone",
"date",
"integer",
"bigint",
"smallint",
"serial",
"bigserial"
],
"mysql": [
"datetime",
"timestamp",
"date",
"int",
"bigint",
"smallint",
"mediumint",
"tinyint"
],
"oracle": [
"TIMESTAMP",
"TIMESTAMP WITH TIME ZONE",
"TIMESTAMP WITH LOCAL TIME ZONE",
"DATE",
"NUMBER"
],
"sqlserver": [
"datetime",
"datetime2",
"smalldatetime",
"date",
"int",
"bigint",
"smallint",
"tinyint"
]
}
}
Python Example
import requests
BASE_URL = "https://maestro.dadosfera.ai"
# Get allowed datatypes
response = requests.get(
f"{BASE_URL}/platform/jobs/jdbc/configs/allowed_datatypes",
headers=headers
)
datatypes = response.json()['data']
# Check if a column type is valid for PostgreSQL
plugin = "postgresql"
column_type = "timestamp with time zone"
if column_type in datatypes.get(plugin, []):
print(f"'{column_type}' is valid for {plugin}")
else:
print(f"'{column_type}' is NOT valid for {plugin}")
print(f"Valid types: {datatypes[plugin]}")
Supported Databases
PostgreSQL
Data Type
Category
timestamp with time zone
Timestamp
timestamp without time zone
Timestamp
date
Date
integer
Numeric
bigint
Numeric
smallint
Numeric
serial
Auto-increment
bigserial
Auto-increment
MySQL
Data Type
Category
datetime
Timestamp
timestamp
Timestamp
date
Date
int
Numeric
bigint
Numeric
smallint
Numeric
mediumint
Numeric
tinyint
Numeric
Oracle
Data Type
Category
TIMESTAMP
Timestamp
TIMESTAMP WITH TIME ZONE
Timestamp
TIMESTAMP WITH LOCAL TIME ZONE
Timestamp
DATE
Date
NUMBER
Numeric
SQL Server
Data Type
Category
datetime
Timestamp
datetime2
Timestamp
smalldatetime
Timestamp
date
Date
int
Numeric
bigint
Numeric
smallint
Numeric
tinyint
Numeric
Choosing an Incremental Column
Best Practices
Prefer timestamps over dates - More precision for tracking changes
Use auto-updating columns - Columns like updated_at that update on every change
Avoid manually maintained columns - Risk of missed updates
Consider timezone awareness - Use timestamp with time zone when possible
Good Incremental Columns
Column
Type
Why
updated_at
timestamp
Auto-updated on changes
modified_date
datetime
Tracks modification time
version_number
integer
Auto-incrementing version
Bad Incremental Columns
Column
Type
Why
created_at
timestamp
Only set once, misses updates
status
varchar
Not sortable/comparable
id
integer
Only catches new rows, not updates
Notes
Data types are case-sensitive for Oracle
When using POST /platform/jobs/jdbc/:jobId/sync-mode, the incremental_column_type must match one of these values
For incremental_with_qualify mode, also specify primary_keys for deduplication
Language
Credentials
Header
Click Try It! to start a request and see the response here!