How to Connect Yurbi to Supabase
Version: Yurbi v12Role: AdminPermission: Admin access
Overview
This guide walks you through connecting Yurbi to a Supabase PostgreSQL database. Supabase is an open-source Firebase alternative that provides a hosted PostgreSQL database. By following these steps, you'll configure the connection in Supabase, create a read-only database user for security, and register the database as an application in Yurbi.
Prerequisites
An active Supabase project with a PostgreSQL database
Admin access to your Yurbi instance
Your Supabase database password (can be reset in Database Settings if unknown)
Part 1: Gather Connection Details from Supabase
Understanding Connection Options
Supabase offers multiple connection methods. For most Yurbi installations running on IPv4 networks, you'll use the Session Pooler connection. Here's a quick comparison:
Connection Type | Port | IPv4 Support | Best For |
|---|---|---|---|
Session Pooler | 5432 | ✓ Yes | Persistent connections (recommended for Yurbi) |
Transaction Pooler | 6543 | ✓ Yes | Serverless/short-lived connections |
Direct Connection | 5432 | ✗ IPv6 only | IPv6-enabled environments |
Get Your Connection String
Log into your Supabase dashboard and select your project
Click the Connect button at the top of the page
Select Session Pooler (recommended for IPv4 environments)
You'll see a connection string similar to:
postgresql://postgres.abcdefghijklmnop:[YOUR-PASSWORD]@aws-0-us-east-1.pooler.supabase.com:5432/postgres
From this string, note the following components:
Component | Example Value | Description |
|---|---|---|
Hostname |
| The Supabase pooler server address |
Port |
| Session pooler port (6543 for transaction pooler) |
Database User |
| Your username with project reference |
Database Name |
| The database name (typically "postgres") |
Part 2: Configure Network Access
Before connecting from Yurbi, ensure your Supabase project allows the connection.
Option A: Remove Network Restrictions (Simpler)
In your Supabase dashboard, navigate to Database Settings and ensure there are no network restrictions blocking your Yurbi server.
Option B: Add IP Allowlist (More Secure)
For enhanced security, add a network restriction that only allows connections from your Yurbi server's public IP address. This ensures only your Yurbi instance can access the database.
Part 3: Create a Read-Only User (Recommended)
For security best practices, create a dedicated read-only user for Yurbi instead of using your primary database credentials. This limits Yurbi to SELECT operations only, protecting your data from accidental modifications.
Run the following SQL commands in the Supabase SQL Editor (adjust the username and password as needed):
-- Create a read-only user for YurbiCREATE USER yurbi_readonly WITH PASSWORD 'your-secure-password-here'; -- Grant connect to the databaseGRANT CONNECT ON DATABASE postgres TO yurbi_readonly; -- Grant usage on the public schemaGRANT USAGE ON SCHEMA public TO yurbi_readonly; -- Grant SELECT on all existing tablesGRANT SELECT ON ALL TABLES IN SCHEMA public TO yurbi_readonly; -- Grant SELECT on all future tables (so you don't have to do this again)ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO yurbi_readonly; -- Grant SELECT on all existing sequencesGRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO yurbi_readonly;
Important: Replace
your-secure-password-herewith a strong, unique password. Store this password securely—you'll need it when configuring the connection in Yurbi.
Part 4: Register the Application in Yurbi
Now that your Supabase database is configured, register it as an application in Yurbi.
1. Navigate to Integrations
Log into Yurbi as an admin and click Settings from the sidebar.
[Screenshot: Yurbi sidebar with Settings highlighted]
2. Select the Integrations Tab
Click on the Integrations tab to view your active integrations.
[Screenshot: Settings page with Integrations tab selected]
3. Create a New App
Click the Create App button.
[Screenshot: Create App button in Integrations]
4. Select Database
From the Create App selection dialog, choose Database.
[Screenshot: Create App dialog with Database option]
5. Configure the Database Connection
Fill in the connection details:
Field | Value |
|---|---|
App Database Name | Enter a user-friendly name (e.g., "Supabase Production" or "Customer Data") |
Description | Brief description of this database connection |
Database Platform | Select PostgreSQL |
Database Server | Your Supabase hostname (e.g., |
Username | Your read-only username with project reference (e.g., |
Password | The password for your read-only user |
Database |
|
[Screenshot: Database connection form filled out]
Important: When using a read-only user with the Session Pooler, you must append the project reference to your username. For example, if your read-only user is
yurbi_readonlyand your project reference isabcdefghijklmnop, enter:yurbi_readonly.abcdefghijklmnop
6. Test the Connection
Click Test Connection. You should see a green "Passed" message indicating a successful connection.
[Screenshot: Successful connection test message]
If the test fails, verify:
The hostname, port, username, and password are correct
Network restrictions in Supabase allow your Yurbi server's IP
The read-only user was created successfully with proper permissions
7. Save the Application
Click Save & Apply to complete the registration.
[Screenshot: Save & Apply button]
Additional Settings
Expand the Additional Settings accordion to access advanced configuration options:
Timeout Settings — Adjust connection and query timeouts
Direct SQL — Enable the ability to create reports using direct SQL queries
Additional Options — Configure other database-specific settings
For detailed information on these options, refer to How to Create an Application.
Next Steps
Your Supabase database is now connected to Yurbi. The next step is to configure your app in the Architect to define which database tables are available for reporting and how they relate to each other.
Troubleshooting
Connection Timeout or Refused
Verify your Yurbi server can reach the Supabase hostname on port 5432
Check that network restrictions in Supabase allow your server's IP address
Ensure you're using the Session Pooler connection string for IPv4 environments
Authentication Failed
Confirm the username includes the project reference suffix (e.g.,
user.projectref)Verify the password is correct
If using a read-only user, ensure the user was created successfully
Permission Denied on Tables
Run the GRANT statements again to ensure SELECT permissions are applied
Verify the tables exist in the
publicschemaCheck that
ALTER DEFAULT PRIVILEGESwas run for future tables