For the complete documentation index, see llms.txt. This page is also available as Markdown.

PostgreSQL

Follow our setup guide to connect PostgreSQL to QUANTI:

The PostgreSQL connector is currently in beta. Reach out to your CSM to enable it for your project.

Prerequisites

Before setting up the PostgreSQL connector, ensure you have:

  • A PostgreSQL database accessible from the internet (host must be reachable)

  • Connection credentials: host, port, database name, username, and password

  • A database user with SELECT privileges on the tables you want to sync

  • If your database is behind a firewall, whitelist the QUANTI: IP addresses — contact your CSM for the list

Setup Instructions

1

Authorize your PostgreSQL Connection

Enter your database credentials to let QUANTI: connect to your PostgreSQL server:

  • Host: Your PostgreSQL server hostname or IP address (e.g., db.yourdomain.com)

  • Port: Server port (default: 5432)

  • Database: The name of the database to connect to

  • Username: Your PostgreSQL username

  • Password: Your PostgreSQL password

  • SSL Mode (optional): Enable SSL for encrypted connections — recommended for databases exposed over the public internet

Click Next

2

Connector Information

  • Connector Name: Define a unique name for your connector

  • Dataset ID: Specify the BigQuery dataset ID where tables will be created (the dataset is created automatically if it doesn't exist)

Click Next

3

Table Selection

Select the PostgreSQL table to sync to BigQuery:

  • Schema: The PostgreSQL schema containing your table (default: public)

  • Table: The name of the table to sync

Each connector instance syncs a single table. To sync multiple tables, create one connector per table.

Click Next

4

Sync Behavior

Choose the data insertion method that fits your use case:

  • Table Type: Select your table type:

    • Fact table: A table containing metrics and date-based data (e.g., events, transactions, orders)

    • Dimension table: A table composed exclusively of descriptive attributes (e.g., products, customers, categories)

  • Sync Method: Choose your insertion method — Learn more

    • INSERT: Add new rows without checking for duplicates (recommended for append-only time-series data)

    • REPLACE: Delete rows within the table scope and reload fresh data

    • UPSERT: Update existing rows or insert new ones based on a primary key — no rows deleted

If you have difficulties determining the most accurate configuration for your case, discover our guide.

Click Next

5

Mapping Configuration

Table Configuration

  • Destination table name: Define your BigQuery table name (lowercase, underscores only)

Field Mapping

For each column detected in your PostgreSQL table:

  • Destination field name: Define the column name in BigQuery (lowercase, underscores recommended)

  • Data type: Choose the appropriate type:

    • STRING — Text values, alphanumeric data

    • INTEGER — Whole numbers (e.g., 42, -10, 0)

    • FLOAT — Decimal numbers (e.g., 3.14, -0.5)

    • BOOLEAN — True/False values

    • DATE — Date only (format: YYYY-MM-DD)

    • TIMESTAMP — Date and time with timezone

    • DATETIME — Date and time without timezone

PostgreSQL-specific types: NUMERIC/DECIMALFLOAT, JSONB/JSONSTRING, UUIDSTRING.

Date Column (mandatory for Fact tables)

  • Select the date field for table partitioning

  • Mandatory when Fact table was selected

  • Used to optimize query performance and data organization

  • Must be a valid DATE, TIMESTAMP, or DATETIME field

Historize Changes

  • Required if UPSERT was selected in the previous step

  • Optional for INSERT and REPLACE methods

  • Selected fields: Previous values are kept (full history)

  • Deselected fields: Values are overwritten without keeping history

Click Next

6

Finish Setup

  • Save your sync settings

  • You can now activate auto-sync or launch a first sync manually

Notes

  • One table per connector: Each connector instance syncs a single PostgreSQL table. Create multiple connectors to sync multiple tables from the same database.

  • Read-only access: The database user only needs SELECT access — no write permissions are required on the PostgreSQL side.

  • Network access: Your PostgreSQL server must be reachable from QUANTI:'s infrastructure. Contact your CSM to obtain the IP addresses to whitelist if needed.

  • SSL: Enabling SSL is recommended for databases accessible over the public internet.

Troubleshooting

Connection refused
  • Verify the hostname or IP address is correct

  • Check that the configured port is open and not blocked by a firewall

  • Ensure PostgreSQL accepts external connections (listen_addresses in postgresql.conf)

  • Confirm your username and password are valid

Permission denied on table
  • Ensure the database user has SELECT privileges on the target table

  • Run the following on your PostgreSQL instance:

Data type mapping issues
  • PostgreSQL NUMERIC / DECIMAL columns → use FLOAT in the mapping

  • PostgreSQL JSONB / JSON columns → use STRING in the mapping

  • Check for NULL values in columns defined as non-nullable types

Need Help?

Contact QUANTI: support at support@quanti.io or consult our documentation at https://docs.quanti.io

Last updated