Database Connectors
Database connectors extract data from relational and NoSQL databases. They support schema discovery, multiple sync modes, and type-safe extraction with automatic Iceberg schema mapping.
PostgreSQL
The PostgreSQL connector supports Full Refresh, Incremental, and CDC (via logical replication / WAL) sync modes. It is one of the most widely used connectors on the platform.
Configuration
{
"name": "production-postgres",
"connectorType": "postgres",
"connectionConfig": {
"host": "pg.example.com",
"port": 5432,
"database": "analytics",
"username": "matih_readonly",
"password": "********",
"ssl_mode": "require",
"schemas": ["public", "sales"],
"replication_method": {
"method": "CDC",
"replication_slot": "matih_slot",
"publication": "matih_pub"
}
}
}Configuration Fields
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
host | string | Yes | -- | PostgreSQL server hostname |
port | integer | No | 5432 | Server port |
database | string | Yes | -- | Database name |
username | string | Yes | -- | Username with SELECT privileges |
password | string | Yes | -- | Password |
ssl_mode | string | No | prefer | SSL mode: disable, allow, prefer, require, verify-ca, verify-full |
schemas | string[] | No | All schemas | Schemas to include in discovery |
replication_method.method | string | No | Standard | Standard (cursor-based) or CDC (WAL logical replication) |
replication_method.replication_slot | string | CDC only | -- | Logical replication slot name |
replication_method.publication | string | CDC only | -- | PostgreSQL publication name |
CDC Prerequisites
To use CDC mode with PostgreSQL:
- Set
wal_level = logicalinpostgresql.conf - Create a publication:
CREATE PUBLICATION matih_pub FOR ALL TABLES; - Create a replication slot:
SELECT pg_create_logical_replication_slot('matih_slot', 'pgoutput'); - Grant the connector user replication privileges:
ALTER USER matih_readonly REPLICATION;
Type Mapping
| PostgreSQL Type | Iceberg Type |
|---|---|
integer, serial | INT |
bigint, bigserial | LONG |
numeric, decimal | DECIMAL(p,s) |
real | FLOAT |
double precision | DOUBLE |
boolean | BOOLEAN |
varchar, text, char | STRING |
date | DATE |
timestamp, timestamptz | TIMESTAMP |
jsonb, json | STRING |
uuid | STRING |
bytea | BINARY |
MySQL
The MySQL connector supports Full Refresh, Incremental, and CDC (via binlog) sync modes.
Configuration
{
"name": "mysql-orders",
"connectorType": "mysql",
"connectionConfig": {
"host": "mysql.example.com",
"port": 3306,
"database": "orders_db",
"username": "matih_reader",
"password": "********",
"ssl_mode": "required",
"replication_method": "CDC"
}
}Configuration Fields
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
host | string | Yes | -- | MySQL server hostname |
port | integer | No | 3306 | Server port |
database | string | Yes | -- | Database name |
username | string | Yes | -- | Username with SELECT privileges |
password | string | Yes | -- | Password |
ssl_mode | string | No | preferred | disabled, preferred, required, verify_ca, verify_identity |
replication_method | string | No | Standard | Standard (cursor-based) or CDC (binlog) |
CDC Prerequisites
To use CDC mode with MySQL:
- Enable binary logging:
log_bin = ONinmy.cnf - Set binlog format:
binlog_format = ROW - Set binlog row image:
binlog_row_image = FULL - Grant replication privileges:
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'matih_reader';
MongoDB
The MongoDB connector supports Full Refresh and CDC (via change streams) sync modes.
Configuration
{
"name": "mongo-users",
"connectorType": "mongodb",
"connectionConfig": {
"connection_string": "mongodb+srv://matih_reader:********@cluster0.example.net/",
"database": "user_data",
"auth_source": "admin"
}
}Configuration Fields
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
connection_string | string | Yes | -- | MongoDB connection URI |
database | string | Yes | -- | Database name |
auth_source | string | No | admin | Authentication database |
CDC Prerequisites
MongoDB CDC requires a replica set or sharded cluster. Standalone MongoDB instances do not support change streams. The connector user needs the readAnyDatabase and read roles.
SQL Server
The SQL Server connector supports Full Refresh, Incremental, and CDC sync modes.
Configuration
{
"name": "sqlserver-erp",
"connectorType": "mssql",
"connectionConfig": {
"host": "sqlserver.example.com",
"port": 1433,
"database": "ERP",
"username": "matih_reader",
"password": "********",
"ssl_method": "encrypted_trust_server_certificate",
"schemas": ["dbo"],
"replication_method": "CDC"
}
}Configuration Fields
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
host | string | Yes | -- | SQL Server hostname |
port | integer | No | 1433 | Server port |
database | string | Yes | -- | Database name |
username | string | Yes | -- | Username |
password | string | Yes | -- | Password |
ssl_method | string | No | unencrypted | unencrypted, encrypted_trust_server_certificate, encrypted_verify_certificate |
schemas | string[] | No | All | Schemas to include |
replication_method | string | No | Standard | Standard or CDC |
CDC Prerequisites
To use CDC mode with SQL Server:
- Enable CDC on the database:
EXEC sys.sp_cdc_enable_db; - Enable CDC on each table:
EXEC sys.sp_cdc_enable_table @source_schema = 'dbo', @source_name = 'orders', @role_name = NULL; - Ensure SQL Server Agent is running (required for CDC cleanup jobs)
Oracle
The Oracle connector supports Full Refresh, Incremental, and CDC (via LogMiner) sync modes.
Configuration
{
"name": "oracle-finance",
"connectorType": "oracle",
"connectionConfig": {
"host": "oracle.example.com",
"port": 1521,
"sid": "ORCL",
"username": "matih_reader",
"password": "********",
"encryption": {
"encryption_method": "client_nne",
"encryption_algorithm": "AES256"
},
"schemas": ["FINANCE"]
}
}Configuration Fields
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
host | string | Yes | -- | Oracle server hostname |
port | integer | No | 1521 | Server port |
sid | string | Yes* | -- | Oracle SID (mutually exclusive with service_name) |
service_name | string | Yes* | -- | Oracle service name (mutually exclusive with sid) |
username | string | Yes | -- | Username |
password | string | Yes | -- | Password |
schemas | string[] | No | All | Schemas to include |
encryption | object | No | -- | Native Network Encryption configuration |
Other Database Connectors
The platform supports additional database connectors through Airbyte.
| Connector | Type | Sync Modes | Notes |
|---|---|---|---|
| MariaDB | Relational | Full Refresh, Incremental, CDC | Uses MySQL-compatible protocol |
| CockroachDB | Relational | Full Refresh, Incremental, CDC | PostgreSQL wire protocol compatible |
| Amazon Redshift | Data Warehouse | Full Refresh, Incremental | Requires UNLOAD permissions for large extracts |
| Google BigQuery | Data Warehouse | Full Refresh, Incremental | Uses service account authentication |
| Snowflake | Data Warehouse | Full Refresh, Incremental | Uses key pair or password authentication |
| Elasticsearch | Search/NoSQL | Full Refresh | Extracts documents from indices |
| DynamoDB | NoSQL | Full Refresh, CDC | Uses DynamoDB Streams for CDC |
| Cassandra | NoSQL | Full Refresh | Wide-column store extraction |
| Redis | Key-Value | Full Refresh | Extracts keys matching specified patterns |
| ClickHouse | OLAP | Full Refresh, Incremental | Useful for migrating from external ClickHouse |
For detailed configuration of any connector, consult the Airbyte connector documentation (opens in a new tab) for the specific connector version deployed in your tenant.