Skip to main content

PostgreSQL

Overview

PostgreSQL is an open-source object-relational database system known for its reliability, feature robustness, and performance. With support for advanced data types, full ACID compliance for transactional integrity, and an extensible architecture, PostgreSQL provides a highly scalable environment for managing diverse datasets, ranging from small applications to large-scale data warehouses. Its extensive SQL compliance, support for various programming languages, and strong community backing make it a versatile choice for a wide range of business intelligence and analytical applications. Rill supports natively connecting to and reading from PostgreSQL as a source by using either a supported connection string or connection URI syntax.

As an example of a connection string:

host=localhost port=5432 dbname=postgres_db user=postgres_user password=postgres_pass

Using the same example, this would be an equivalent connection URI:

postgresql://postgres_user:postgres_pass@localhost:5432/postgres_db

Local credentials

When using Rill Developer on your local machine, you will need to provide your credentials via a connector file. We would recommend not using plain text to create your file and instead use the .env file. For more details on your connector, see connector YAML for more details.

Updating the project environmental variable

If you've already deployed to Rill Cloud, you can either push/pull the credential from the CLI with:

rill env push
rill env pull

Or, if its your first deployment, Rill will automatically deploy the .env into your Rill project.

Separating Dev and Prod Environments

When ingesting data locally, consider setting parameters in your connector file to limit how much data is retrieved, since costs can scale with the data source. This also helps other developers clone the project and iterate quickly by reducing ingestion time.

For more details, see our Dev/Prod setup docs.

Cloud deployment

Once a project with a PostgreSQL source has been deployed, Rill requires you to explicitly provide the connection string using the following command:

rill env configure