PostgreSQL
Introduction
Qobra can connect to PostgreSQL by two means:
- username / password credentials.
- service account (only available for Google Cloud Platform)
The integration is used to synchronize exposed tables, their columns and their content. This integration is readonly and does not write anything in your PostgreSQL database.
Setup via SQL user
-
Create an account to setup the Qobra connection, ensuring the principle of least privilege. This means the account needs to have read only access, on table that need to be synchronized with Qobra.
You’ll find Postgre’s documentation regarding User, role, & privilege commands here.
Once your account is created, make sure you keep its username and password for later steps.
-
Whitelist Qobra’s IP:
13.39.2.144
-
You’ll then be able to fill in connection modal in app:
Username
: PostgreSQL account usernamePassword
: PostgreSQL account passwordHost
: PostgreSQL account’s unique URLPort
: by default 5432Database
: PostgresSQL database
Setup via service account
- Create a service account from your google account, it should look something like this:
-
You’ll then be able to fill in connection modal in app:
Username
: PostgreSQL account usernamePassword
: PostgreSQL account passwordService account
: PostgreSQL account’s unique URLInstance
: PostgresSQL instanceDatabase
: PostgresSQL database
Table requirements
To synchronize a file to Qobra, it must meet requirements:
- the file contains a unique identifier column
- the file contains a name column
- the user values contained in the file must be emails by default, but it can be changed in app at table creation
Total synchronization
This integrations does total synchronization, meaning the whole document will be synced at every refresh.
Refresh schedule
You can edit this integration synchronization periods in application, to better suit your needs.
Supported types
You’ll find below the fields types supported by the Qobra integration, and their mapping to Qobra types.
Postgres type | Qobra type |
---|---|
TEXT | string , picklist , multipicklist , user |
CHARACTER | string , picklist , multipicklist , user |
CHARACTER VARYING | string , picklist , multipicklist , user |
DATE | date |
TIMESTAMP WITHOUT TIME ZONE | date |
TIMESTAMP WITH TIME ZONE | date |
INTEGER | number , amount , percentage , user |
SMALLINT | number , amount , percentage , user |
BIGINT | number , amount , percentage , user |
DOUBLE PRECISION | number , amount , percentage |
NUMERIC | number , amount , percentage |
FLOAT | number , amount , percentage |
REAL | number , amount , percentage |
MONEY | amount |
BOOLEAN | bool |
BIT | string |
BIT VARYING | string |
Custom querying
With this integration, you can apply a custom query to your table synchronization, to avoid synchronizing too much information, consequently making synchronization quicker.
Custom queries are based on SQL where conditions. For instance, you could add as a custom query StageName = 'Closed Won’
to filter your Opportunity object.
Contact support for more information.