ubuntuusers.de

Postgres 8.3 startet bei Systemstart nicht

Status: Gelöst | Ubuntu-Version: Ubuntu 8.04 (Hardy Heron)
Antworten |

Gendo

Anmeldungsdatum:
27. August 2006

Beiträge: 49

Hi,

postgres will einfach nicht automatisch starten. Wenn ich "/etc/init.d/postgres-8.3 start" manuell ausführe klappt es. Der Dienst wird in rc0.d, rc1.d und rc6.d gestoppt und in rc2.d, rc3.d, rc4.d und rc5.d gestartet. In rcS.d ist er nicht drin.

Hier das default Script:

#!/bin/sh -e

### BEGIN INIT INFO
# Provides:		postgresql postgresql-8.3
# Required-Start:	$local_fs $remote_fs $network $time
# Required-Stop:	$local_fs $remote_fs $network $time
# Should-Start:		$syslog
# Should-Stop:		$syslog
# Default-Start:	2 3 4 5
# Default-Stop:		0 1 6
# Short-Description:	PostgreSQL 8.3 RDBMS server
### END INIT INFO

# Setting environment variables for the postmaster here does not work; please
# set them in /etc/postgresql/8.3/<cluster>/environment instead.

[ -r /usr/share/postgresql-common/init.d-functions ] || exit 0

. /usr/share/postgresql-common/init.d-functions

VERSION=8.3

Muss ich es einfach in rcS.d eintragen?

frabron

Anmeldungsdatum:
11. Februar 2007

Beiträge: 151

Bei mir ist er auch nicht in rcS drin und startet trotzdem. Der Fehler wird wohl woanders liegen. Was sagen denn das postgresql log und die anderen Verdächtigen messages und syslog?

Gendo

(Themenstarter)

Anmeldungsdatum:
27. August 2006

Beiträge: 49

Ahh danke. Im postgres log stand:

2009-03-19 07:03:27 CET LOG:  konnte Root-Zertifikat-Datei »root.crt« nicht laden: kein SSL-Fehler berichtet
2009-03-19 07:03:27 CET DETAIL:  Client-Zertifikate werden nicht überprüft werden.
2009-03-19 07:03:27 CET FATAL:  konnte Shared-Memory-Segment nicht erzeugen: Invalid argument
2009-03-19 07:03:27 CET DETAIL:  Fehlgeschlagener Systemaufruf war shmget(key=5432001, größe=38207488, 03600).
2009-03-19 07:03:27 CET TIPP:  Dieser Fehler bedeutet gewöhnlich, dass das von PostgreSQL angeforderte Shared-Memory-Segment den Kernelparameter SHMMAX überschreitet.  Sie können entweder die benötigte Shared-Memory-Größe reduzieren oder SHMMAX im Kernel größer konfigurieren.  Um die benötigte Shared-Memory-Größe zu reduzieren (aktuell 38207488 Bytes), reduzieren Sie den PostgreSQL-Parameter »shared_buffers« (aktuell 4096) und/oder »max_connections« (aktuell 103).
        Wenn die angeforderte Größe schon klein ist, ist es möglich, dass sie kleiner ist als der Kernelparameter SHMMIN.  Dann müssen Sie die benötigte Shared-Memory-Größe erhöhen oder SHMMIN ändern.
        Die PostgreSQL-Dokumentation enthält weitere Informationen über die
        Konfiguration von Shared Memory.

Das hatte ich schonmal und konnte es mit:

http://ubuntuforums.org/showthread.php?t=601484

sudo /sbin/sysctl -w kernel.shmmax=xxx

kernel.shmmax = xxx

xxx = die Zahl "Um die benötigte Shared-Memory-Größe zu reduzieren (aktuell 38207488 Bytes)" also 38207488 oder größer. (Falls jemand das gleiche Problem irgendwann mal hat.)

Was komisch ist, dass beim manuellen start klappt. Irgenwo wird wohl der Wert schon verändert aber erst nachdem der postgres startbefehl kommt. Naja mir solls gleich sein. ☺

Antworten |