Configuring PostgreSQL for scaling

Tier: Free, Premium, Ultimate Offering: Self-managed

In this section, you are guided through configuring a PostgreSQL database to be used with GitLab in one of our reference architectures.

Configuration options

Choose one of the following PostgreSQL configuration options:

Standalone PostgreSQL for Linux package installations

This setup is for when you have installed GitLab by using the Linux package (CE or EE), to use the bundled PostgreSQL having only its service enabled.

Read how to set up a standalone PostgreSQL instance for Linux package installations.

Provide your own PostgreSQL instance

This setup is for when you have installed GitLab using the Linux package (CE or EE), or self-compiled your installation, but you want to use your own external PostgreSQL server.

Read how to set up an external PostgreSQL instance.

When setting up an external database there are some metrics that are useful for monitoring and troubleshooting. When setting up an external database there are monitoring and logging settings required for troubleshooting various database related issues. Read more about monitoring and logging setup for external Databases.

PostgreSQL replication and failover for Linux package installations

Tier: Premium, Ultimate Offering: Self-managed

This setup is for when you have installed GitLab using the Linux Enterprise Edition (EE) package.

All the tools that are needed like PostgreSQL, PgBouncer, and Patroni are bundled in the package, so you can use it to set up the whole PostgreSQL infrastructure (primary, replica).

Read how to set up PostgreSQL replication and failover for Linux package installations.