-
Notifications
You must be signed in to change notification settings - Fork 219
Description
Container platform
OCP 4
Version
postgresql-15:1-10 from https://catalog.redhat.com/software/containers/rhel8/postgresql-15/63d29a05fd1c4f5552a305b3?architecture=amd64&tag=1-10&push_date=1684253325000
running via a deployment config on Openshift 4.10
OS version of the container image
RHEL 8
Bugzilla, Jira
No response
Description
The readme for v15 refers to the --memory parameter. Where do I set the --memory parameter in an Openshift deployment config (DC) so that the shared_buffers and effective_cache_size are set automatically?
My DC has resource limits configured under spec:template:spec as:
containers:
- resources:
limits:
cpu: '1'
memory: 4Gi
requests:
cpu: 100m
memory: 400Mi
but my shared_buffers is the default 128MB:
# show shared_buffers;
shared_buffers
----------------
128MB
(1 row)
Do you recommend that I instead manually set the shared_buffers and effective_cache_size parameters by editing the postgresql.conf file located at /var/lib/pgsql/data/userdata/postgresql.conf?
FYI - For anyone who comes across this post due to errors like this in their logs:
ERROR: could not resize shared memory segment "/PostgreSQL.1237418266" to 33554432 bytes: No space left on device
You should check the space allocated to /dev/shm:
sh-4.4$ df -h
Filesystem Size Used Avail Use% Mounted on
...
shm 64M 1.1M 63M 2% /dev/shm
...
I increased the /dev/shm space from 64M to 128M via the technique here: https://stackoverflow.com/questions/43373463/how-to-increase-shm-size-of-a-kubernetes-container-shm-size-equivalent-of-doc/63152020#63152020
by adding lines to the DC:
spec:
template:
spec:
volumes:
- name: dshm
emptyDir:
medium: Memory
sizeLimit: 128Mi
containers:
volumeMounts:
- name: dshm
mountPath: /dev/shm
After the above DC change, the could not resize shared memory segment errors have stopped.
Reproducer
No response