Ich habe hier eine PostgreSQL 8.0.4 Installation unter NetBSD 3. Der Datenbankserver soll beim Boot-Vorgang automatisch gestartet werden. Die entsprechende Datei (pgsql) wurde nach /etc/rc.d kopiert und die /etc/rc.conf enthält den Eintrag: “pgsql=YES”
Der Benutzer postgres ist in der Gruppe users angelegt.
Er ist Besitzer der Verzeichnisse /usr/pkg/pgsql und /usr/pkg/pgsql/data.
Die Datei /usr/pkg/pgsql/data/postgresql.conf enthält den Eintrag:
listen_addresses = ‘*’
port = 5432
Die Datei /usr/pkg/pgsql/data/pg_hba.conf enthält den Eintrag:
“local” is for Unix domain socket connections only
local all all trust
IPv4 local connections:
host all all 127.0.0.1/32 trust
host all all 192.168.1.0/24 password
IPv6 local connections:
#host all all ::1/128 trust
Dennoch erhalte ich auf zwei verschiedenen Systemen zwei unterschiedliche Fehlermeldungen beim Boot-Vorgang:
could not open PID file pg_ctl: “/usr/pkg/pgsql/data/postmaster.pid”: Permission denied
bzw.
could not start postmaster
Im zweiten Fall enthält die Datei /usr/pkg/pgsql/errlog der Eintrag:
FATAL: could not open configuration file “/usr/pkg/pgsql/data/pg_hba.conf”: Permission denied
Ich gehe fast davon aus, dass der “Dienst” beim Starten nicht die Selben Rechte wie der User postgres hat und daher einfach keinen Zugriff auf die Verzeichnisse. Wenn ich jedoch die Rechte auf die Verzeichnisse zu grosszügig gestalte bekomme ich eine Fehlermeldung die besagt, dass das nicht erlaubt sei.
Der manuelle Start als User postgres ist immer von Erfolg gekrönt.
Die Frage ist also:
Wie bekomme ich es hin, dass der PosgreSQL-Server erfolgreich beim booten startet?
Hoffentlich ist die Frage nicht zu Betriebssystem-spezifisch.
Dennoch vorab schon mal vielen Dank für jeden Versuch der Unterstützung.