Connect Your Data Source

A connector turns a database, a file drop or an API into tables in the lake. It is one record: credentials, the objects to read, and the schedule.

1. Create the connector

Open Connectors, then New connector. The name is for people, not for the system: it is what appears in the table tree, so name it after the source, not after the team that owns it.

2. Choose the type

The type decides which fields the form asks for.

TypeReads fromTypical use
PostgresA Postgres databaseApplication databases
ClickHouseA ClickHouse clusterAn existing warehouse
S3 / BlobObject storageFiles dropped by another system
RESTAn HTTP endpointSaaS APIs with a JSON response

3. Fill in the connection form

Credentials are stored encrypted and are never shown again after saving. Changing a password means editing the connector, not recreating it - the tables keep their identity and their history.

yaml
name: billing-postgres
type: postgres
host: billing.internal.example.com
port: 5432
database: billing
user: datamind_reader
password: <secret>
tables:
  - invoices
  - payments
schedule: "0 3 * * *"

The user should be a read-only account. Datamind never writes to a source; a source account with write access is a permission you are granting for no reason.

Warning

The first sync reads every row it can see. On a large table that is a long read against your production database - run it outside business hours, and start with a subset of the tables.

4. Test it, then sync

Test connection checks only that the host answers and the credentials work. It does not run a query, so a connector that tests green can still fail its first sync: that failure is a permission or a timeout on the source, and it is reported on the connector's own page.

:::card What happens at the first sync

The tables are created in the lake, every row is read, and the sync is recorded as a full load. The next sync is incremental, using the cursor column you chose - and if no cursor column exists, every sync is a full load, which is the setting to revisit first when a nightly job gets slow. :::

Troubleshooting

SymptomLikely cause
authentication failed on testThe password was rotated at the source, or the reader account is locked
Test passes, sync failsThe reader can connect but cannot select the table
Sync succeeds, table is emptyThe source table is empty, or a filter in the connector excludes everything
Tables appear, values look staleThe schedule has not run yet - check the last sync time on the connector