PostgreSQL Instance Types
PostgreSQL on Thalassa Cloud DBaaS runs on General Purpose instance types. Each type has a fixed vCPU and memory size; the platform sets PostgreSQL parameters to values suited for that size. You can override allowed parameters if your workload needs different tuning.
General Purpose (db-pgp)
General purpose instance types for production PostgreSQL workloads.
| Instance type | vCPUs | Memory | Description |
|---|---|---|---|
| micro | 1 | 1 GB | Micro instance for light workloads, development, or testing. |
| small | 1 | 2 GB | Small instance for low-traffic or small datasets. |
| medium | 2 | 4 GB | Medium instance for typical application workloads. |
| large | 2 | 8 GB | Large instance for production with higher memory needs. |
| xlarge | 4 | 16 GB | Extra large instance for heavier production workloads. |
| 2xlarge | 8 | 32 GB | Double extra large for high concurrency and large datasets. |
How instance types affect PostgreSQL
When you select an instance type, Thalassa Cloud applies default parameters for that size:
- Memory-related —
work_mem,temp_buffers,maintenance_work_mem,effective_cache_size, and WAL-related settings scale with instance size. - Parallelism —
max_worker_processes,max_parallel_workers,max_parallel_workers_per_gather, andmax_parallel_maintenance_workersincrease on larger instances. - Connections —
max_connectionsis set per size (e.g. 100 on smaller instances, 200 on xlarge and 2xlarge).
You can change any allowed parameter after creation to better match your workload. Instance-type defaults are a starting point, not a lock-in.
Default parameters per instance type
The table below lists the default PostgreSQL parameters applied for each General Purpose instance type. These values are tuned for that instance size; you can override them within the allowed parameters.
| Parameter | micro | small | medium | large | xlarge | 2xlarge |
|---|---|---|---|---|---|---|
max_connections | 100 | 100 | 100 | 100 | 200 | 200 |
work_mem | 4 MB | 4 MB | 8 MB | 16 MB | 32 MB | 64 MB |
temp_buffers | 8 MB | 16 MB | 32 MB | 64 MB | 128 MB | 256 MB |
maintenance_work_mem | 256 MB | 512 MB | 1 GB | 1 GB | 2 GB | 2 GB |
effective_cache_size | 512 MB | 1 GB | 2 GB | 4 GB | 10 GB | 20 GB |
checkpoint_completion_target | 0.9 | 0.9 | 0.9 | 0.9 | 0.9 | 0.9 |
wal_buffers | 16 MB | 16 MB | 16 MB | 16 MB | 16 MB | 16 MB |
min_wal_size | 512 MB | 1 GB | 1 GB | 1 GB | 2 GB | 4 GB |
max_wal_size | 2 GB | 4 GB | 6 GB | 6 GB | 10 GB | 16 GB |
random_page_cost | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 |
effective_io_concurrency | 200 | 200 | 200 | 200 | 200 | 200 |
max_worker_processes | 1 | 1 | 4 | 4 | 8 | 12 |
max_parallel_workers_per_gather | 0 | 0 | 2 | 2 | 4 | 8 |
max_parallel_workers | 1 | 1 | 4 | 4 | 8 | 12 |
max_replication_slots | 4 | 4 | 5 | 5 | 6 | 9 |
max_parallel_maintenance_workers | 2 | 0 | 2 | 2 | 4 | 8 |
statement_timeout | 0 | 0 | 0 | 0 | 0 | 0 |
statement_timeout value 0 means disabled (no timeout). Other parameters may have cluster-level defaults in addition to these; see Parameters for the full list of configurable parameters.
Choosing an instance type
- Development / testing — micro or small.
- Production (moderate traffic) — medium or large.
- Production (high traffic, many connections, or large working set) — xlarge or 2xlarge.
If you hit connection limits, high I/O wait, or slow queries despite tuning, consider moving to a larger instance type.