> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://apidocs.polytomic.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://apidocs.polytomic.com/_mcp/server.
# Redshift Serverless
Supports:
* ✅ Models
* ✅ Model sync destination
* ✅ Bulk sync source
* ✅ Bulk sync destination
## Connection
### Configuration
| Name | Type | Description | Required |
connection_method |
string |
Connection method
Accepted values: `data_api` ↓, `endpoint` ↓ |
true |
database |
string |
Database |
true |
iam_role_arn |
string |
IAM role ARN |
true |
region |
string |
Region |
false |
s3_bucket_name |
string |
S3 bucket name (destination/unload support only)
(required if `use_unload` is "true") |
false |
s3_bucket_region |
string |
S3 bucket region (destination/unload support only)
(required if `use_unload` is "true") |
false |
use_bulk_sync_staging_schema |
boolean |
Use custom bulk sync staging schema ↓ |
false |
use_unload |
boolean |
Read data using unload |
false |
workgroup |
string |
Workgroup |
true |
`use_bulk_sync_staging_schema`
When `use_bulk_sync_staging_schema` is `true`
| Name | Type | Description | Required |
bulk_sync_staging_schema |
string |
Staging schema name |
true |
`connection_method`
When `connection_method` is `endpoint`
| Name | Type | Description | Required |
endpoint |
string |
Redshift Serverless endpoint |
false |
When `connection_method` is `data_api`
| Name | Type | Description | Required |
override_endpoint |
boolean |
Override Redshift Data API endpoint |
false |
`override_endpoint`
When `override_endpoint` is `true`
| Name | Type | Description | Required |
data_api_endpoint |
string |
Redshift Data API endpoint
Example: https://redshift-data.us-west-2.amazonaws.com |
false |
#### Example
```json
{
"name": "Redshift Serverless connection",
"type": "redshiftserverless",
"configuration": {
"connection_method": "data_api",
"database": "users",
"iam_role_arn": "arn:aws:iam::012345678910:role/role",
"override_endpoint": false,
"region": "us-west-2",
"s3_bucket_name": "my-bucket",
"s3_bucket_region": "us-west-2",
"use_bulk_sync_staging_schema": false,
"use_unload": false,
"workgroup": "default"
}
}
```
### Read-only properties
| Name | Type | Description | Required |
external_id |
string |
External ID |
false |
## Model Sync
### Source
#### Configuration
| Name | Type | Description | Required |
query |
string |
|
false |
schema |
string |
Schema |
false |
table |
string |
Table |
false |
view |
string |
View |
false |
#### Example
```json
{
...
"configuration": {
"query": "SELECT * FROM sampledata.users",
"schema": "sampledata",
"table": "users",
"view": "active_users"
}
}
```
### Target
Redshift Serverless connections may be used as the destination in a model sync.
#### All targets
##### Configuration
| Name | Type | Description | Required |
created_column |
string |
'Created at' timestamp column |
false |
preserve_table_on_resync |
boolean |
Preserve destination table when resyncing |
false |
updated_column |
string |
'Updated at' timestamp column |
false |
write_record_timestamps |
boolean |
Write row timestamp metadata |
false |
##### Example
```json
{
...
"target": {
"configuration": {
"created_column": "",
"preserve_table_on_resync": false,
"updated_column": "",
"write_record_timestamps": false
}
}
}
```
### Target creation
Redshift Serverless connections may be used to create a new target for a model sync. The
following parameters are required to create a new target:
| NAME |
DESCRIPTION |
ENUM |
| name |
Table name |
false |
## Bulk Sync
### Source
Redshift Serverless connections may be used as a bulk sync source. No additional configuration options are required.
### Destination
#### Configuration
| Name | Type | Description | Required |
advanced |
object |
|
false |
mirror_schemas |
boolean |
Mirror schemas |
false |
schema |
string |
Output schema |
false |
#### Example
```json
{
...
"destination_configuration": {
"advanced": {
"empty_strings_null": false,
"hard_deletes": false,
"initial_execution": "",
"table_prefix": "",
"truncate_existing": false
},
"mirror_schemas": false,
"schema": "schema"
}
}
```
## Type handling
### Destination types
| POLYTOMIC TYPE | REDSHIFT SERVERLESS TYPE |
|-----------------------------|----------------------------|
| `array<>` | `SUPER` |
| `bigint` | `BIGINT` |
| `boolean` | `BOOL` |
| `date` | `DATE` |
| `datetime` | `TIMESTAMP` |
| `decimal(precision, scale)` | `NUMERIC(precision,scale)` |
| `double` | `FLOAT8` |
| `int` | `INTEGER` |
| `json` | `SUPER` |
| `jsonarray` | `SUPER` |
| `number` | `NUMERIC(38,18)` |
| `object{}` | `SUPER` |
| `single` | `FLOAT4` |
| `smallint` | `SMALLINT` |
| `string` | `VARCHAR(MAX)` |
| `time` | `VARCHAR(255)` |
### Source types
| REDSHIFT SERVERLESS TYPE | POLYTOMIC TYPE |
|-------------------------------|-----------------------------|
| `4000` | `json` |
| `BIGINT` | `bigint` |
| `BOOL` | `boolean` |
| `BOOLEAN` | `boolean` |
| `BPCHAR` | `string` |
| `CHAR` | `string` |
| `CHARACTER` | `string` |
| `CHARACTER VARYING` | `string` |
| `DATE` | `date` |
| `DECIMAL` | `number` |
| `DECIMAL(precision, scale)` | `decimal(precision, scale)` |
| `DOUBLE PRECISION` | `double` |
| `FLOAT` | `double` |
| `FLOAT4` | `single` |
| `FLOAT8` | `double` |
| `INT` | `int` |
| `INT2` | `smallint` |
| `INT4` | `int` |
| `INT8` | `bigint` |
| `INTEGER` | `int` |
| `NCHAR` | `string` |
| `NUMERIC` | `number` |
| `NUMERIC(precision, scale)` | `decimal(precision, scale)` |
| `NVARCHAR` | `string` |
| `REAL` | `single` |
| `SMALLINT` | `smallint` |
| `STRING` | `string` |
| `TEXT` | `string` |
| `TIME` | `time` |
| `TIME WITH TIME ZONE` | `time` |
| `TIME WITHOUT TIME ZONE` | `time` |
| `TIMESTAMP` | `datetime` |
| `TIMESTAMP WITH TIME ZONE` | `datetime_tz` |
| `TIMESTAMP WITHOUT TIME ZONE` | `datetime` |
| `TIMESTAMPTZ` | `datetime_tz` |
| `TIMETZ` | `time` |
| `VARCHAR` | `string` |