dass das von PostgreSQL angeforderte Shared-Memory-Segment den Kernelparameter SHMMAX

… bla bla bla. So fängt der Tag mal gut an. Also was will postgres uns sagen? Eigentlich nur das er nicht genug RAM ab bekommt um zu arbeiten.

Hätte man auch einfacher sagen können. Also ich sitze auf Debian, wo muß ich schrauben? In der conf für postgres? Nein. Hab ich auch erst gedacht, aber es scheint eine Systemeinstellung zu sein. Wie der Fehler schon sagt Kernelparameter SHMMAX.

Also Lösung recht einfach am Ende des Tages, Wert erhöhen.

/proc/sys/kernel/shmmax

 

Sagt mir das ich 33554432 habe, also 32 MB. Ok, aber nicht die Welt. Also machen wir das doch mal auf 128 MB. Bei 2 GB Ram im Server geht da noch mehr, aber wir wollen ja mal nicht gleich übertreiben.

nano /etc/sysctl.conf

 

Dort tragen wir dann folgende Zeile ein:

kernel.shmmax = 134217728

 

Speichern und neu starten. Theoretischb sollte man das glaube ich auch über einen reload hin bekommen doch da hätte ich googglen müssen und der neustart war schneller.

Jetzt beobachten. Mit einem einfachen „top“ sieht man recht schnell ob postgres wieder anfängt den SWAP Bereich zu belegen obwohl RAM noch vorhanden wäre. Dann halt den Wert nochmals erhöhen. Aber bitte nicht irgendwelche krassen Zahlen einwerfen, denn wenn man ihm mehr gibt als vorhanden ist hat das ganz andere Auswirkungen.