Prepare your sources
Before connecting a source, create the user Teramot will sign in with and give it the minimum permissions. The scripts below are examples to adapt: replace the database, schema, user and password with your own. The fields each connector asks for are in Databases and warehouses and Applications and cloud sources.
General recommendations
- A dedicated user for Teramot. It makes its queries easy to audit and its access easy to revoke without affecting other systems.
- Read-only. Teramot only runs read queries on the source: it does not create tables, temporary or otherwise, and it does not modify data.
- Only what you will load. Grant permissions only on the schemas or tables you plan to load. If a table has sensitive columns you do not need, create a view without them and grant permission on the view.
- A read replica for critical databases. If the production database is sensitive to load, connect a read replica.
- Incremental refresh needs a unique key and a modification column in each table. Views have no declared key and always load in full. See Incremental refresh.
CREATE USER teramot WITH PASSWORD '<password>';
GRANT CONNECT ON DATABASE <database> TO teramot;
GRANT USAGE ON SCHEMA <schema> TO teramot;
GRANT SELECT ON ALL TABLES IN SCHEMA <schema> TO teramot;
-- So that new tables are also visible:
ALTER DEFAULT PRIVILEGES IN SCHEMA <schema> GRANT SELECT ON TABLES TO teramot;Tables, views and materialized views can be loaded.
Salesforce, HubSpot, Odoo, Monday.com, Airtable, Google Sheets and OneDrive need no preparation: you sign in or paste a token in the form.