Send data from Postgres to your destinations through Freshpaint

What you'll need

  • A Freshpaint account

  • Connection information for Postgres, including

    • Hostname

    • Port number

    • Username

    • Password

    • Database name

    • Schema name

How this works

With the Postgres source, Freshpaint can sync data from any and all of your tables in Postgres into our SQL Engine. You'll be able to access this data as SQL tables, in the same way you would inside Postgres.

With that data, you can:

  • Send to your destinations on a schedule with our Scheduled Events, keeping them in sync with updates in Postgres

  • Send data as properties of your tracked events with SQL Transformations

  • Query the data with our SQL Editor to see what you have and test that your source is working

  • Combine your Postgres data with that of any other source

Connect to Postgres

First, you'll want to locate Postgres on the list of sources:

Click the Configure button, and you'll see a modal that looks like below. Enter your database's host, port number, the name of a database we can connect to, a schema, user, and password. You'll note that using SSL is an option; you are strongly urged to use SSL for any connection to Postgres.

Choose the tables you want to pull into the SQL Engine.

You can configure the schedule for any frequency you want to sync with our SQL Engine. Once you have your tables configured, you can trigger a new sync to have access to the data in your tables. Your connection should now look something like this:

Working with Postgres data

Postgres is a general relational database; the only limit to what data you can pull is what access you provide to the user. Below is a simple example of the SQL you can run in the SQL Editor to see the data in any of your tables.

Use Cases

Reverse ETL to analytics tools

Many people use Postgres as a data warehouse and as an application database. You can use the Postgres source integration to send data from either to any analytics tool of your choice. Suppose you wanted to sync new accounts to Mixpanel:

    account_id AS insert_id,
    email AS user_id,
    created_at AS time,

A query like this would pull data from an account_signups table and send that to Mixpanel.

Point-to-Point integrations need you to define the insert_id and user_id for the data to be accepted by your destination. Remember this when you build your own queries! Because you selected *, you'll see all of your data as properties named for their original columns as well.

Database-to-warehouse data transfer

You might find yourself in need of bringing data over to a new warehouse. With your Postgres source, you can tap into all of the warehouses you've connected with Freshpaint.

  • Write a query you'll use to capture this data in the SQL Editor, then create an event.

  • Connect a warehouse, or even a set of warehouses, to your Freshpaint account.

  • Finally, you need to click into the event you've created, and turn on the warehouse(s) for that event. (This can even be another Postgres server!)


  • If you're connecting to an application database, you'll want to be careful about the kind of data you may include in a SELECT * query, as that could include sensitive data.

Last updated