Database Connectors
Database connectors extract data directly from relational and document databases. Each connector uses the database’s native wire protocol for efficient data transfer and supports schema discovery to auto-detect tables, columns, and data types.
All database connectors follow the same 5-step configuration flow. This page covers the connection settings specific to each database type.
PostgreSQL
PostgreSQL is the most commonly used database connector. It supports all PostgreSQL-compatible databases, including Amazon RDS, Aurora PostgreSQL, Google Cloud SQL, and Azure Database for PostgreSQL.
Required fields
| Field | Description |
|---|---|
| Host | Hostname or IP address of the PostgreSQL server |
| Port | TCP port (default: 5432) |
| Database | Name of the database to connect to |
| Username | Database user with read access to the target tables |
| Password | Password for the database user |
Optional settings
| Field | Description |
|---|---|
| Schema | Restrict discovery to a specific schema. If omitted, Rime discovers tables in all schemas the user can read (excluding pg_catalog and information_schema) |
| SSL Mode | Connection encryption setting. Options: disable, prefer (default), require, verify-ca, verify-full |
SSL/TLS notes
For cloud-hosted PostgreSQL (RDS, Cloud SQL, Aurora), set SSL mode to require at minimum. If your provider supplies a CA certificate, use verify-ca or verify-full to validate the server’s identity. Upload the CA certificate through the connector configuration form.
Common connection issues
- Connection refused: verify the host and port are correct, and that the PostgreSQL server allows connections from Rime’s IP addresses. Check
pg_hba.conffor host-based authentication rules. - Authentication failed: confirm the username and password. Some managed services require IAM authentication rather than password auth.
- SSL required: if the server requires SSL and you selected
disable, the connection will be rejected. Set SSL mode torequireor higher. - No tables discovered: the user may lack
SELECTprivileges on the target tables, or the specified schema may not exist.
MySQL
Supports MySQL 5.7+, MySQL 8.x, MariaDB 10.3+, Amazon RDS MySQL, Aurora MySQL, Google Cloud SQL for MySQL, and Azure Database for MySQL.
Required fields
| Field | Description |
|---|---|
| Host | Hostname or IP address of the MySQL server |
| Port | TCP port (default: 3306) |
| Database | Name of the database to connect to |
| Username | Database user with read access |
| Password | Password for the database user |
Optional settings
| Field | Description |
|---|---|
| SSL | Enable or disable SSL for the connection. Options: disabled, required, verify-identity |
SSL/TLS notes
MySQL’s SSL configuration is simpler than PostgreSQL’s. Set SSL to required for cloud-hosted instances. The verify-identity option checks the server’s certificate against the hostname, which requires a valid CA certificate chain.
Common connection issues
- Access denied: MySQL uses a combination of username, password, and source host for authentication. Ensure the user is granted access from Rime’s IP address (e.g.,
'user'@'%'or a specific IP). - Unknown database: the database name is case-sensitive on Linux-based MySQL servers.
- Too many connections: the MySQL server has reached its
max_connectionslimit. Rime uses a small connection pool, but this may conflict with other applications using the same server.
Microsoft SQL Server
Supports SQL Server 2016+, Azure SQL Database, Azure SQL Managed Instance, and Amazon RDS for SQL Server.
Required fields
| Field | Description |
|---|---|
| Host | Hostname or IP address of the SQL Server |
| Port | TCP port (default: 1433) |
| Database | Name of the database |
| Username | SQL Server login with read access |
| Password | Password for the login |
Optional settings
| Field | Description |
|---|---|
| Instance name | Named instance (e.g., MSSQLSERVER). Leave blank for the default instance. When set, the port field is typically ignored because SQL Server Browser resolves the port for named instances |
| Encryption | Connection encryption. Options: optional (default), required, strict |
SSL/TLS notes
Azure SQL Database enforces encryption by default. For on-premises SQL Server, set encryption to required if TLS is configured on the server. The strict option (SQL Server 2022+) uses TDS 8.0 with full certificate validation.
Common connection issues
- Named instance not found: SQL Server Browser service must be running on the server for named instance resolution. Alternatively, specify the port directly and leave the instance name blank.
- Login failed: SQL Server authentication must be enabled (not just Windows Authentication). Check SQL Server’s authentication mode in server properties.
- Cannot reach host: SQL Server may be listening on a non-default port or behind a firewall. Verify with
telnet host portfrom a machine on the same network.
MongoDB
Supports MongoDB 4.4+, MongoDB Atlas, Amazon DocumentDB (with MongoDB compatibility), and Azure Cosmos DB for MongoDB.
Required fields
| Field | Description |
|---|---|
| Connection string | Full MongoDB URI (e.g., mongodb+srv://user:[email protected]/dbname). The connection string includes authentication credentials, host, and connection options |
| Database | Database name to extract from. This can also be specified in the connection string, but the form field takes precedence if both are provided |
Optional settings
| Field | Description |
|---|---|
| Authentication source | The database used for authentication (default: admin). Change this if your user is defined in a different database |
Sync behaviour
MongoDB is a document database, so Rime handles it differently from relational sources:
- Collections as tables: each MongoDB collection maps to a Snowflake table.
- Schema inference: Rime samples documents from each collection to infer a tabular schema. Nested objects are flattened with dot notation (e.g.,
address.citybecomes a column namedaddress_city). - Arrays: arrays of scalar values are stored as JSON strings. Arrays of objects are not flattened — they remain as JSON in the destination column.
Common connection issues
- Authentication failed: MongoDB Atlas uses SCRAM authentication by default. Ensure the user exists in the correct authentication database.
- DNS resolution failed:
mongodb+srv://URIs require DNS SRV record resolution. If your environment cannot resolve SRV records, use a standardmongodb://URI with explicit host and port. - Timeout: MongoDB Atlas clusters have IP whitelisting enabled by default. Add Rime’s IP addresses to the Atlas Network Access list.
Oracle
Supports Oracle Database 12c+, Oracle Autonomous Database, Amazon RDS for Oracle, and Oracle Cloud Infrastructure Database.
Required fields
| Field | Description |
|---|---|
| Host | Hostname or IP address of the Oracle server |
| Port | TCP port (default: 1521) |
| Username | Database user with read access |
| Password | Password for the database user |
Connection identifier
Provide one of the following to identify the database:
| Field | Description |
|---|---|
| SID | System Identifier for the database instance |
| Service name | Oracle service name (preferred for RAC and pluggable databases). Use service name if your DBA provides one; SID is legacy but still common |
If both are provided, the service name takes precedence.
Common connection issues
- ORA-12541: TNS no listener: the Oracle listener is not running on the specified host and port, or a firewall is blocking access.
- ORA-01017: invalid username/password: Oracle passwords are case-sensitive by default in 12c+.
- ORA-12514: TNS listener does not currently know of service: the service name or SID does not match a running database. Check with
lsnrctl statuson the Oracle server. - Character encoding: Rime reads data using UTF-8. If your Oracle database uses a different character set (e.g., WE8ISO8859P1), special characters may require mapping.
Next steps
- After configuring your database connector, select tables and columns to extract
- Set up a sync schedule for automated extraction
- Review How Extraction Works for details on the data pipeline