Skip to content

Scaling PostgreSQL#

PostgreSQL is sized by architecture (tier), nodes and storage. You can change any of these on a running instance; the platform performs a rolling update and preserves your data.

Tiers#

Tier Storage per node CPU / memory per node
Starter 10Gi 1 CPU / 2Gi
Small 20Gi 2 CPU / 4Gi
Basic 40Gi 4 CPU / 8Gi
Medium 80Gi 8 CPU / 16Gi
Large 200Gi 8 CPU / 32Gi
XLarge 300Gi 12 CPU / 32Gi
2XLarge 400Gi 12 CPU / 40Gi
3XLarge 600Gi 16 CPU / 48Gi
4XLarge 800Gi 16 CPU / 56Gi

Node count is independent of the tier (choose 1-3 nodes). Instances with more than one node run a primary plus streaming read replicas.

Change the tier (scale up/down)#

  1. Open the service and choose Modify.
  2. Select the new architecture and/or node count.
  3. Apply and wait for status ready.

Update capacity/config and re-apply:

capacity { storage = 50 }
config = { "architecture" = "Basic" }

Data is preserved across a tier change.

Resize storage and nodes#

  • Storage grows with the tier or can be set explicitly; volumes are expanded online where the storage class supports it.
  • Nodes: increasing nodes adds read replicas (primary + N-1 replicas). A cross-site DR standby must stay single-node.

Upgrade the version#

Change kind (for example service/postgres:16.0 → service/postgres:17.6) and apply. The platform performs the upgrade in place; verify with a write/read before and after.

Note

Plan upgrades during a maintenance window and take a backup first.