Amazon Redshift Driver v1.0.0

Driver Version v1.0.0 Release Date 2025-09-18

This driver provides access to Amazon Redshift (commonly referred to as just “Redshift”).

Note

This project is not affiliated with Amazon.

Installation

The Redshift driver can be installed with dbc :

dbc install redshift

Connecting

To connect, edit the uri, redshift.cluster_type, redshift.workgroup_name, and redshift.db_name options below to match your environment and run the following:

from adbc_driver_manager import dbapi

dbapi.connect(
    driver="redshift",
    db_kwargs={
        "uri": "postgresql://localhost:5439", # for Redshift Serverless with bastion host
        #"uri": "postgresql://localhost:5440", # for Redshift Provisioned with bastion host
        #"uri": "postgresql://<cluster hostname>:<cluster port>", # for direct connection

        "redshift.cluster_type": "redshift-serverless", # for Redshift Serverless
        #"redshift.cluster_type": "redshift-iam", # for Redshift Provisioned with IAM auth
        #"redshift.cluster_type": "redshift", # for Redshift Provisioned with user/password auth

        "redshift.workgroup_name": "<WORKGROUP_NAME>", # for Redshift Serverless
        #"redshift.cluster_identifier": "<CLUSTER IDENTIFIER>", # for Redshift Provisioned

        "redshift.db_name": "sample_data_dev",
    }
)

Note: The example above is for Python using the adbc-driver-manager package but the process will be similar for other driver managers.

Feature & Type Support

Feature Support
Bulk Ingestion Create
Append
Create/Append
Replace
Temporary Table
Specify target catalog
Specify target schema
Non-nullable fields are marked NOT NULL
Catalog (GetObjects) depth=catalogs
depth=db_schemas
depth=tables
depth=columns (all)
Get Parameter Schema
Get Table Schema
Prepared Statements
Transactions

Types

SELECT (SQL to Arrow) type mapping

SQL Type

Arrow Type

BIGINT

int64

BOOLEAN

bool

DATE

date32[day]

DOUBLE PRECISION

double

INT

int32

INTERVAL DAY TO SECOND

month_day_nano_interval

INTERVAL YEAR TO MONTH

month_day_nano_interval

NUMERIC

decimal128

REAL

float

SMALLINT

int16

TIME

time64[us]

TIMESTAMP

timestamp[us]

TIMESTAMP WITH TIME ZONE

timestamp[us, tz=UTC]

VARBINARY

binary

VARCHAR

string

Bind parameter (Arrow to SQL) type mapping

Arrow Type

SQL Type

binary

VARBINARY ⚠️ [2]

bool

BOOLEAN

date32[day]

DATE

decimal128

NUMERIC

double

DOUBLE PRECISION

float

REAL ⚠️ [1]

int16

SMALLINT

int32

INT

int64

BIGINT

string

VARCHAR

time64[us]

TIME

timestamp[us, tz=UTC]

TIMESTAMP WITH TIME ZONE

timestamp[us]

TIMESTAMP

Bulk ingest (Arrow to SQL) type mapping

Arrow Type

SQL Type

binary

VARBINARY

bool

BOOLEAN

date32[day]

DATE

decimal128

NUMERIC

double

DOUBLE PRECISION

float

REAL

int16

SMALLINT

int32

INT

int64

BIGINT

string

VARCHAR

time64[us]

[3]

timestamp[us, tz=UTC]

TIMESTAMP WITH TIME ZONE

timestamp[us]

TIMESTAMP