Postgresql startet nicht mehr

Hallo,
seit dem letzten Update auf 4.1-4-errata 371 startet Postgresql nicht mehr.
Wenn ich per Hand starte erscheint folgende Meldung:

root@linux:/etc/init.d# service postgresql start [....] Starting PostgreSQL 8.4 datebase server: main [....]Error: /var/lib/postgresql/8.4/main is not accessible or does exist .... failed!

Für mich unverständlich, da ich 8.4 vor einem Jahr löschte.

Die Eingabe von:

root@linux:/etc/init.d# service postgresql start 9.1

führt zu folgender Meldung:

[ ok ] Starting  PostgreSQL 9.1 database server:. 

Postgresql startet also ohne Datenbank?
Wie kann ich die Datenbank wieder zuordnen und das automatische Starten reaktivieren?

Vielen Dank im voraus, Rico

Was sagt denn update-alternatives? https://wiki.ubuntuusers.de/Alternativen-System/

Die Ausgabe von

update-alternatives --get-selections 

ergibt:

animate auto /usr/bin/animate.im6 aptitude auto /usr/bin/aptitude-curses awk auto /usr/bin/mawk b2m auto /usr/bin/b2m.emacs23 bibtex auto /usr/bin/bibtex.original builtins.7.gz auto /usr/share/man/man7/bash-builtins.7.gz c89 auto /usr/bin/c89-gcc c99 auto /usr/bin/c99-gcc cc auto /usr/bin/gcc compare auto /usr/bin/compare.im6 composite auto /usr/bin/composite.im6 conjure auto /usr/bin/conjure.im6 convert auto /usr/bin/convert.im6 cpp auto /usr/bin/cpp ctags auto /usr/bin/ctags.emacs23 display auto /usr/bin/display.im6 ebrowse auto /usr/bin/ebrowse.emacs23 editor auto /bin/nano emacs auto /usr/bin/emacs23-x emacsclient auto /usr/bin/emacsclient.emacs23 etags auto /usr/bin/etags.emacs23 ex auto /usr/bin/vim.basic from auto /usr/bin/bsd-from ftp auto /usr/bin/kftp gconftool auto /usr/bin/gconftool-2 gem auto /usr/bin/gem1.9.1 grep-changelog auto /usr/bin/grep-changelog.emacs23 identify auto /usr/bin/identify.im6 ifenslave auto /sbin/ifenslave-2.6 import auto /usr/bin/import.im6 infobrowser auto /usr/bin/info javaws auto /usr/lib/jvm/java-6-openjdk/jre/bin/javaws lft auto /usr/bin/lft.db libblas.so.3 auto /usr/lib/libblas/libblas.so.3 locate auto /usr/bin/locate.findutils lzma auto /usr/bin/xz mailx auto /usr/bin/bsd-mailx mogrify auto /usr/bin/mogrify.im6 montage auto /usr/bin/montage.im6 mozilla-javaplugin.so auto /usr/lib32/jvm/java-6-openjdk/jre/lib/i386/IcedTeaPlugin.so mt auto /bin/mt-gnu nc auto /bin/nc.traditional pager auto /bin/less pagsh auto /usr/bin/kpagsh php auto /usr/bin/php5 php-cgi auto /usr/bin/php5-cgi php-cgi-bin auto /usr/lib/cgi-bin/php5 pico auto /bin/nano pinentry auto /usr/bin/pinentry-gtk-2 pinentry-x11 auto /usr/bin/pinentry-gtk-2 pluginappletviewer auto /usr/lib/jvm/java-6-openjdk/jre/bin/pluginappletviewer postmaster.1.gz auto /usr/share/postgresql/9.1/man/man1/postmaster.1.gz psql.1.gz auto /usr/share/postgresql/9.1/man/man1/psql.1.gz rcp auto /usr/bin/krcp rcs-checkin auto /usr/bin/rcs-checkin.emacs23 rename auto /usr/bin/prename rlogin auto /usr/bin/slogin rmt auto /usr/sbin/rmt-tar rsh auto /usr/bin/krsh ruby auto /usr/bin/ruby1.9.1 rview auto /usr/bin/vim.basic rvim auto /usr/bin/vim.basic stream auto /usr/bin/stream.im6 tclsh auto /usr/bin/tclsh8.4 tcptraceroute auto /usr/sbin/tcptraceroute.db tdbbackup auto /usr/bin/tdbbackup.tdbtools telnet auto /usr/bin/ktelnet traceproto auto /usr/bin/traceproto.db traceroute auto /usr/bin/traceroute.db traceroute6 auto /usr/bin/traceroute6.db vi auto /usr/bin/vim.basic view auto /usr/bin/vim.basic vim auto /usr/bin/vim.basic vimdiff auto /usr/bin/vim.basic w auto /usr/bin/w.procps wish auto /usr/bin/wish8.4 write auto /usr/bin/bsd-write www-browser auto /usr/bin/elinks x-cursor-theme manual /etc/X11/cursors/oxy-steel.theme xdvi.bin auto /usr/bin/xdvi-xaw x-session-manager auto /usr/bin/startkde x-terminal-emulator auto /usr/bin/konsole x-window-manager auto /usr/bin/kwin x-www-browser auto /usr/bin/firefox

hmm…

[code]# cd /etc/postgresql

ls -lah[/code]

Gibt es da Ordner für 8.4 und 9.1 und was liegt da drin?

Die Ordner 7.4 und 8.3 enthalten nur den Ordner main und er ist bei beiden leer.

drwxr-xr-x   6 root     root     4,0K Dez 23 01:06 .
drwxr-xr-x 146 root     root      12K Jan 13 11:07 ..
drwxr-xr-x   3 root     root     4,0K Mär 31  2014 7.4
drwxr-xr-x   3 root     root     4,0K Mär 31  2014 8.3
drwxr-xr-x   3 postgres postgres 4,0K Mär 31  2014 8.4
drwxr-xr-x   3 postgres postgres 4,0K Jan 27  2016 9.1
-rw-r-----   1 postgres postgres  634 Dez 23 01:06 pam_ldap.conf
-r--r-----   1 postgres www-data   20 Jan 27  2016 pkgdb.secret

Der Ordner 8.4 enthält main und der wiederum:

drwxr-xr-x 2 postgres postgres 4,0K Nov 14 09:11 . drwxr-xr-x 3 postgres postgres 4,0K Mär 31 2014 .. -rw-r----- 1 postgres postgres 4,5K Nov 14 09:11 pg_hba.conf -rw-r----- 1 postgres postgres 3,8K Mär 31 2014 pg_hba.conf.debian -rw-r----- 1 postgres postgres 2,1K Jan 27 2016 pg_ident.conf -rw-r----- 1 postgres postgres 1,6K Mär 31 2014 pg_ident.conf.debian -rw-r--r-- 1 postgres postgres 18K Jan 27 2016 postgresql.conf -rw-r--r-- 1 postgres postgres 17K Mär 31 2014 postgresql.conf.debian

Der Ordner 9.1 enthält ebenso main und dieser:

drwxr-xr-x 2 postgres postgres 4,0K Jan 27 2016 . drwxr-xr-x 3 postgres postgres 4,0K Jan 27 2016 .. -rw-r--r-- 1 postgres postgres 316 Jan 27 2016 environment -rw-r--r-- 1 postgres postgres 143 Jan 27 2016 pg_ctl.conf -rw-r--r-- 1 postgres postgres 378 Jan 27 2016 start.conf

Danke für ihre Hilfe.

Haben Sie beim Upgrade auf UCS 4.1 - gemäß der ReleaseNotes - das Update von PostgreSQL 8.4 auf 9.1, wie in unserem SDB-Artikel 1292 beschrieben, durchgeführt?

Ja habe ich: [url]Update auf v4.1-0 funktioniert nicht]
Ich hatte bist zum letzten Update (Ende 2016) auch keinerlei Probleme.

Vermutlich wird Postgresql auch aktiv genutzt?
Können Sie eine Sicherung von dem Server oder nur Postgesql machen und danach den SDB Artikel zur Migration noch einmal durchgehen?

Erstmal dankeschön für die Hilfe.

Ja, postgresql wird benutzt, zumindest wohl für den Softwaremonitor:
http://radiot-chemnitz.de/browser-1.jpg

Wenn ich postgresql unter Systemdienste neu starten möchte, erscheint zwar eine Erfolgsmeldung (rechts im Bild), der Status bleibt jedoch bei gestoppt:
http://radiot-chemnitz.de/browser-2.jpg

Den SDB Artikel zur Migration bin ich noch einmal durchgegangen, ohne Erfolg:
http://radiot-chemnitz.de/console.jpg

Würde mich über weitere Tipps freuen.

Hallo,

Mir fällt am Anfang des ‘console.jpg’ die folgende Zeile auf:

    root@linux:/etc/init.d# service postgresql start
    [....] Starting PostgreSQL 8.4 datebase server: main [....]Error: /var/lib/postgresql/8.4/main is not accessible or does exist .... failed!

Das ist das Datenverzeichnis, das hier fehlt. Damit ist diese Prozedur im ganzen hinfällig, denn sie will diese Daten von 8.4 nach 9.1 migrieren – es gibt aber keine (mehr).

Daß der Startskript trotzdem versucht, eine 8.4 Instanz zu starten, liegt daran, daß die Software postgresql-8.4 noch installiert ist, genau genommen daran, daß /usr/lib/postgresql/8.4/bin/pg_ctl existiert und ausführbar ist. Mit dem folgenden Befehl

chmod -x /usr/lib/postgresql/8.4/bin/pg_ctl

sollten Sie das ändern können; dann wird der Startskript nicht mehr versuchen, eine 8.4 Instanz zu starten.

Danach kann man sich an das restliche Reparieren machen. Wichtig wäre dafür die Frage: Gibt es denn irgendwas auf diesem System, das eine PostgreSQL Datenbank benötigt? Einer Ihrer Screenshots zeigt den Software-Monitor - wird der aktiv benutzt?

viele Grüße
Frank Greif.

Hallo Herr Greif,
dankeschön für die Tipps.
PostgreSQL wird im Augenblick (soweit ich es überblicke) nur für den Software-Monitor genutzt (wie finde ich heraus, welche Programme es u.U. noch benutzen) und selbiger wird zur Zeit nicht genutzt.
Da ich die Nutzung für die Zukunft aber nicht ausschließen möchte, möchte ich es dennoch wieder zum laufen bringen.

Ich würde jetzt folgendermaßen vorgehen (vorausgesetzt PostgreSQL wird nur vom Software-Monitor genutzt) :

  • über die Paketverwaltung PostgreSQL 8.4 und PostgreSQL 9.1 deinstallieren
  • über den AppCenter den Software-Monitor deinstallieren
  • über die Paketverwaltung PostgreSQL 9.1 installieren
  • über den AppCenter den Software-Monitor installieren
    Dann sollte ja alles wieder beim alten sein. Wäre dem so?

Viele Grüße,
Rico Pitsch

Hallo,

die Vorgehensweise sieht grundsätzlich nicht falsch aus. Die manuelle Installation vom Postgres kann man sich vermutlich sparen, dass sollte durch dir Paketabhängigkeiten gelöst werden. Aber schaden wirds auch nicht.

Viel Erfolg,
Dirk Ahrnke

Mastodon