# About PostgreSQL

Since version 12.22.0, Enhance supports PostgreSQL in addition to MySQL or MariaDB.

PostgreSQL is primarily used by developers and is rarely used for common PHP CMSs. For example WordPress is incompatible with PostgreSQL.

Installing PostgreSQL on an existing cluster

# General information

  • PostgreSQL is installed using the Ubuntu package repository. If you are using Ubuntu 24.04 (Noble Numbat) the version installed will be 16.
  • The postgresql-client package is an explicit dependency of ecp-core and will be installed on all servers by default.
  • The server packages are installed at the point of role installation.

# Running PostgreSQL on your control panel server

The control panel server already uses PostgreSQL as its internal data store. When adding PostgreSQL to your control panel server, no packages are required to be installed, Enhance will simply update the configuration to allow for the hosting of customer databases in addition to the databases required by the control panel server.

If you are adding PostgreSQL to your existing cluster, we recommend installing it on every server where the Application role is installed. The website placement is opportunistic - it will prefer to place the Database role locally to the web server where a website is placed but, if no PostgreSQL role is installed on that server, it will place the role elsewhere in your cluster which might be suboptimal.  If you have both MySQL/MariaDB and PostgreSQL available on your cluster, each website will be mapped to both a MySQL and a PostgreSQL server, allowing your customer to create both kinds of database.

# Backup and restoration

All Enhance backup and restoration routines handle PostgreSQL databases.

  • Upload/download of website backups via the website dashboard
  • Scheduled and on-demand backups
  • Backup restoration (S3 and Enhance backup roles)
  • Plesk and cPanel imports