Skip to main content
This page describes how to use and configure a connection to PostgreSQL in Prophecy. PostgreSQL is a relational database used for storing and querying structured data.

Prerequisites

Prophecy connects to PostgreSQL using the database credentials you provide. These credentials are used to authenticate your session and authorize all data operations during pipeline execution. To use a Postgres connection effectively, your user account must have:
  • SELECT, INSERT, UPDATE, and DELETE on the tables used in your Prophecy pipelines.
  • Access to the database and schema where tables are located.

Feature support

The table below outlines whether the connection supports certain Prophecy features.
FeatureSupported
Read data with a Source gemYes
Write data with a Target gemYes
Browse data in the Environment browserYes
Index tables in the Knowledge GraphOptional

Connection parameters

To create a connection with PostgreSQL, enter the following parameters:
ParameterDescription
Connection NameName to identify your connection
ServerAddress of the PostgreSQL server
PortPort to use for the connection
DatabasePostgreSQL database name
UsernameUsername for your PostgreSQL instance
Password (Secret required)Password for your PostgreSQL instance
Knowledge Graph IndexerEnable or disable Knowledge Graph indexing

Data type mapping

When Prophecy processes data from PostgreSQL using SQL warehouses such as Databricks or BigQuery, it converts PostgreSQL-specific data types to formats compatible with your target warehouse. This table shows common mappings and may vary depending on your configured warehouse.
PostgreSQLDatabricksBigQuery
smallintINT
Alias: Integer
INT64
Alias: Integer
integerINT
Alias: Integer
INT64
Alias: Integer
bigintBIGINT
Alias: Bigint
INT64
Alias: Integer
decimal / numericDOUBLE
Alias: Double
FLOAT64
Alias: Float
realDOUBLE
Alias: Double
FLOAT64
Alias: Float
double precisionDOUBLE
Alias: Double
FLOAT64
Alias: Float
booleanBOOLEAN
Alias: Boolean
BOOL
Alias: Boolean
charSTRING
Alias: String
STRING
Alias: String
varcharSTRING
Alias: String
STRING
Alias: String
textSTRING
Alias: String
STRING
Alias: String
dateTIMESTAMP
Alias: Timestamp
TIMESTAMP
Alias: Timestamp
timeTIMESTAMP
Alias: Timestamp
TIMESTAMP
Alias: Timestamp
timestampTIMESTAMP
Alias: Timestamp
TIMESTAMP
Alias: Timestamp
timestamptzTIMESTAMP
Alias: Timestamp
TIMESTAMP
Alias: Timestamp
byteaBINARY
Alias: Binary
BYTES
Alias: Bytes
uuidSTRING
Alias: String
STRING
Alias: String
json / jsonbSTRING
Alias: String
STRING
Alias: String
Learn more in Supported data types.

Sharing connections within teams

Connections in Prophecy are stored within fabrics, which are assigned to specific teams. Once a Postgres connection is added to a fabric, all team members who have access to the fabric can use the connection in their projects. No additional authentication is required—team members automatically inherit the access and permissions of the stored connection credentials.
Be mindful of the access level granted by the stored credentials. Anyone on the team will have the same permissions—including access to sensitive data if allowed.To manage this securely, consider creating a dedicated fabric and team for high-sensitivity connections. This way, only approved users have access to those credentials.