
PostgreSQL
Connect a PostgreSQL database to WasteNot to pull customer and transaction data directly from your database. Write custom SQL queries to define exactly what data feeds into your audiences.
Setting up PostgreSQL requires help from someone on your engineering or data team. Share this guide with them to get started.
Prerequisites
- A PostgreSQL database accessible over the internet
- A database user with read-only access to the tables you want to query
- The database host, port, name, and credentials
Your database must be reachable from the internet. SSH tunneling is not currently supported. If your database is behind a firewall, you will need to allowlist WasteNot's IP addresses — contact support@wastenot.io for the current list.
Connecting PostgreSQL
Step 1: Create the data source
- Add a new PostgreSQL data source in WasteNot
- Enter a Name
- Click Save
Step 2: Configure connection details
After creating the data source, go to its detail page and fill in your connection details:
- Host — The hostname or IP address of your PostgreSQL server
- Port — The port PostgreSQL is listening on (default:
5432) - Database — The name of the database to connect to
- Username — A read-only database user
- Password — The password for the database user
We strongly recommend creating a dedicated read-only user for WasteNot rather than using an admin account. This limits access to only the data you want to sync.
Once the fields are filled in, click Connect. WasteNot will verify the connection.
Custom streams
Once connected, you can create streams to define what data WasteNot pulls from your database. Each stream is a SQL query that returns rows matching WasteNot's expected format.
See the Writing Custom Queries guide for full details on required columns and event types.
- Go to your PostgreSQL data source detail page
- Click New Stream
- Give the stream a name, select an event type, and enter your SQL query
- Save the stream
WasteNot will run the query on a schedule and sync the results automatically.
Frequently asked questions
What permissions does the database user need?
The user needs SELECT privileges on the tables or views referenced in your stream queries.
Can I connect to a read replica?
Yes. Connecting to a read replica is a great way to avoid any performance impact on your primary database.
My data source shows "Failed" status
Common causes:
- The database is not reachable from the internet
- Credentials are incorrect or the user has been disabled
- A firewall is blocking the connection
- SSL configuration issues
Check with your data team, or reach out to support@wastenot.io for help.