Provision a Cloud SQL PostgreSQL instance

Create a Cloud SQL PostgreSQL instance using the Google Cloud Console or gcloud.

The exact provisioning workflow largely follows Google’s documentation, but Puppet Enterprise requires several specific constraints.

Setting Requirement
PostgreSQL version PostgreSQL 17. The Cloud SQL instance's major version must match the PostgreSQL version bundled with your PE primary. PE 2025.11 ships PostgreSQL 17; a dump taken from PostgreSQL 17 cannot be restored into an older major version. Confirm the source version on the PE primary with /opt/puppetlabs/server/bin/psql --version, and provision a Cloud SQL instance of the same major version.
Instance type For all installation types, use the PE‑PostgreSQL node requirements from the extra‑large hardware requirements section. See Hardware requirements.
Memory For all installation types, use the PE‑PostgreSQL node requirements from the extra‑large hardware requirements section.  See Hardware requirements.
Storage For all installation types, use the PE‑PostgreSQL node requirements from the extra‑large hardware requirements section. See Hardware requirements.
Connectivity Public IP or private connection reachable from the PE primary.
Provisioning a Cloud SQL instance with an older PostgreSQL major version than the PE primary causes the migration restore to fail. For example, a POSTGRES_14 destination rejects a PostgreSQL 17 dump with errors such as option "locale_provider" not recognized and unrecognized configuration parameter "transaction_timeout", and no databases are created.

For detailed provisioning instructions, see Google documentation.