Supabase is a managed Postgres platform with built-in pgvector, auth, and realtime. Gateco connects to Supabase as a Tier 1 connector, supporting full document ingestion, retroactive registration, and RAG access control over your vector tables — adding identity-aware retrieval and vector database RBAC without modifying your existing schema.
Step 1 — Enable the pgvector extension
- In the Supabase dashboard, open your project.
- Navigate to Database → Extensions.
- Search for "vector" and toggle it on.
Or run this in the Supabase SQL editor:
CREATE EXTENSION IF NOT EXISTS vector;Step 2 — Get your database connection string
- Navigate to Project Settings → Database.
- Under "Connection string", select the URI tab.
- Switch to "Direct connection" (not the Supabase connection pooler).
- Copy the URI. It will look like:
postgresql://postgres:[YOUR-PASSWORD]@db.[PROJECT-REF].supabase.co:5432/postgresUse the direct connection string (port 5432), not the pooler (port 6543). Gateco manages its own connection pool internally.
Step 3 — Get your service role key
- Navigate to Project Settings → API.
- Under Project API keys, copy the service_role key (labeled "secret").
- Keep this key secure — it bypasses Row Level Security.
The service role key bypasses Supabase RLS. Store it securely and do not expose it in client-side code. Gateco uses it server-side only.
Step 4 — Add the connector in Gateco
- Navigate to Connectors → Add connector → Supabase.
- Paste your direct connection string from Step 2.
- Click Test connection.
- Click Save.
Step 5 — Configure search settings
- Click your Supabase connector → Search config.
- Set the Vector table name (e.g. documents).
- Set the Embedding column (e.g. embedding).
- Optionally set Content column and additional Metadata columns.
- Save.
Configuration reference
| Field | Example | Description |
|---|---|---|
connection_string | postgresql://postgres:pass@db.xxx.supabase.co:5432/postgres | Direct PostgreSQL connection URI |
table_name | documents | Table containing vector embeddings |
embedding_column | embedding | Column with type vector(n) |
content_column | content | Document text column (optional) |
Troubleshooting
| Error | Cause | Fix |
|---|---|---|
Relation "vector_extension" does not exist | pgvector not enabled | Enable the vector extension in Database → Extensions |
permission denied for schema | Using anon key instead of service role | Use the service_role key from Project Settings → API |
SSL required | Missing sslmode parameter | Add ?sslmode=require to the connection string |