PostgreSQL Connection
Connect your PostgreSQL database to give SignalPilot access to schemas, tables, and data for AI-powered analysis.What you’ll need: Database host, port, credentials, and network access from your SignalPilot environment.
Quick Setup
Open Database Connections
In SignalPilot, click Database icon in the sidebar → Add Connection → Select PostgreSQL
Enter connection details
Choose your preferred method:
- Configuration form (recommended for beginners)
- Connection URL (faster if you have the full string)
Connection Methods
- Configuration Form
- Connection URL
Fill in these fields:
| Field | Description | Example |
|---|---|---|
| Connection Name | Friendly label for reference | Production DB, Analytics |
| Host | Server address | localhost or mydb.abc123.us-east-1.rds.amazonaws.com |
| Port | Default: 5432 | 5432 |
| Database | Database name | analytics |
| Username | PostgreSQL user | db_user |
| Password | User password | •••••••• |
| Description (optional) | Notes about this connection | Production analytics warehouse |
Credentials are encrypted locally using AES-256 before storage.
Finding Your Connection Details
AWS RDS
AWS RDS
- Go to RDS Console → Databases
- Click your PostgreSQL instance
- Find Endpoint (this is your host) and Port
- Database name is in Configuration tab
- Username/password were set during RDS creation
mydb.abc123.us-east-1.rds.amazonaws.comLocal PostgreSQL
Local PostgreSQL
Host: Username: Your PostgreSQL user (often
localhost or 127.0.0.1Port: 5432 (default)Database: Check with:postgres by default)Heroku Postgres
Heroku Postgres
- Go to your Heroku app → Resources → Heroku Postgres
- Click Settings → View Credentials
- Copy the URI (this is your connection URL)
Google Cloud SQL
Google Cloud SQL
- Go to Cloud SQL → Select your instance
- Overview tab shows connection name
- Click Connect to this instance for details
- Use Public IP as host (or set up Cloud SQL Proxy)
What SignalPilot Can Do
Once connected, the AI agent can:Inspect Schema
View tables, columns, data types, and relationships automatically
Query Data
Generate and execute SQL queries based on your requests
Understand Context
Use schema information to provide accurate suggestions
Join Tables
Automatically infer relationships between tables for complex queries
Security Best Practices
Use read-only credentials when possible
Use read-only credentials when possible
Create a dedicated PostgreSQL user with SELECT permissions only:This prevents accidental data modifications through SignalPilot.
Restrict network access
Restrict network access
- Use IP whitelisting in your firewall/security group
- Enable SSL/TLS connections (add
?sslmode=requireto connection URL) - Consider VPN or SSH tunneling for extra security
Use separate credentials per environment
Use separate credentials per environment
- Production: Read-only access, restricted tables
- Staging: Read-write if needed
- Development: Broader access to test environments
Troubleshooting
Connection timeout
Connection timeout
Causes:
- Firewall blocking connection
- Incorrect host/port
- Database not running
- Verify host and port are correct
- Check firewall rules allow connections from SignalPilot
- Confirm database is running:
pg_isready -h <host> -p <port>
Authentication failed
Authentication failed
Causes:
- Wrong username or password
- User doesn’t have access to specified database
- Double-check credentials (watch for trailing spaces)
- Verify user has CONNECT permission:
GRANT CONNECT ON DATABASE <db> TO <user> - Check
pg_hba.confallows connections from your IP
SSL/TLS errors
SSL/TLS errors
For self-signed certificates:
Add
?sslmode=require to connection URL (not verify-full)For proper SSL:
Ensure your PostgreSQL server has valid SSL certificates configured'Database does not exist'
'Database does not exist'
Solutions:
- List available databases:
psql -h <host> -U <user> -l - Create the database if needed:
CREATE DATABASE analytics; - Check spelling of database name (case-sensitive)