Profiles
Charmed PostgreSQL K8s resource utilization depends on the chosen profile:
juju deploy postgresql-k8s --trust --config profile=testing
Profile values
Value | Description | Tech details |
---|---|---|
production (default) |
Maximum performance | 25% of the available memory for shared_buffers and the remain as cache memory (defaults mimic legacy charm behavior).The max_connections =max(4 * os.cpu_count(), 100).Use pgbouncer if max_connections are not enough (reasoning). |
testing |
Minimal resource usage | PostgreSQL 14 defaults. |
Config change
Note: Pre-deployed application profile change is planned but currently is NOT supported.
To change the profile, use juju config
(see all charm configs):
juju deploy postgresql-k8s --trust --config profile=testing && \
juju config postgresql-k8s profile=production
Juju Constraints
Juju constraints allows RAM/CPU limits for Kubernetes pods:
juju deploy postgresql-k8s --trust --constraints cores=8 mem=16G
Juju constraints can be used together with charm profile:
juju deploy postgresql-k8s --trust --constraints cores=8 mem=16G --config profile=testing