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)#
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.