Fehler bei Update. von UCS 4.0-1 errata146 bis errata160

Liebes univention Team,

ich habe nach einem regulären Update eine Fehlermeldung erhalten.
Der Fehler ist “auf dem Weg” von Update UCS 4.0-1 errata146 bis 4.0-1 errata160 aufgetreten.
Im Anhang die Logfile des Updates. Kurz vor Ende wird in einer Fehlermeldung auf einen Error des postgresql-9.1 Moduls verwiesen.

Die Ausgabe von “psql --version” ergibt:

psql (PostgreSQL) 9.1.15 enthält Unterstützung für Kommandozeilenbearbeitung

Die Ausgabe von “service postgresql status” ergibt:

Running clusters: 8.4/main Running clusters:

Welche Module des UCS Servers nutzen postgresql?
Was können wir tun, um den Fehler zu beheben?
Bisher haben wir vermieden weitere Update zu installieren.

Beste Grüße

Julian Hamborg
updater.log (27.1 KB)

Hallo,

PostgreSQL müsste von Hand auf 9.1 migriert werden - siehe auch Upgrade auf UCS4: PostgreSQL > 9.1 / Bareos Problem

Viele Grüße,
Tim Petersen

Vielen Dank für den Link zur Anleitung.

Nun hat er beim apt-get install --reinstall befehl folgenden Internal Error:

root@ucs:~# service postgresql stop [ ok ] Stopping PostgreSQL 8.4 database server: main. [ ok ] Stopping PostgreSQL 9.1 database server: main. root@ucs:~# rm -rf /etc/postgresql/9.1 root@ucs:~# apt-get install --reinstall postgresql-9.1 Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut. Statusinformationen werden eingelesen.... Fertig 0 aktualisiert, 0 neu installiert, 1 erneut installiert, 0 zu entfernen und 48 nicht aktualisiert. 1 nicht vollständig installiert oder entfernt. Nach dieser Operation werden 0 B Plattenplatz zusätzlich benutzt. N: Datei »20_ucs-online-component.list__ucr__commit__0.886708980146« in Verzeichnis »/etc/apt/sources.list.d/« wird ignoriert, da sie eine ungültige Dateinamen-Erweiterung hat. N: Datei »20_ucs-online-component.list__ucr__commit__0.886708980146« in Verzeichnis »/etc/apt/sources.list.d/« wird ignoriert, da sie eine ungültige Dateinamen-Erweiterung hat. E: Internal Error, No file name for postgresql-9.1:amd64

Über weitere Hilfestellung wäre ich sehr dankbar.

Gern geschehen.

Da liegen scheinbar temporäre Dateien in /etc/apt/sources.list.d/ - damit kommt apt nicht gut zurecht:

[code]rm /etc/apt/sources.list.d/*
ucr commit /etc/apt/sources.list.d/*

weiter im Text

apt-get install --reinstall postgresql-9.1[/code]

root@ucs:~# apt-get install --reinstall postgresql-9.1 Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut. Statusinformationen werden eingelesen.... Fertig Erneute Installation von postgresql-9.1 ist nicht möglich, es kann nicht heruntergeladen werden. 0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert. 1 nicht vollständig installiert oder entfernt. Nach dieser Operation werden 0 B Plattenplatz zusätzlich benutzt. Möchten Sie fortfahren [J/n]? J postgresql-9.1 (9.1.15-0.7.201503031519) wird eingerichtet ... Traceback (most recent call last): File "/usr/sbin/univention-pkgdb-scan", line 37, in <module> univention.pkgdb.main() File "/usr/lib/pymodules/python2.7/univention/pkgdb.py", line 538, in main connection = open_database_connection(config_registry, pkgdbu=False) File "/usr/lib/pymodules/python2.7/univention/pkgdb.py", line 521, in open_database_connection connection = pgdb.connect(database=connectstring) File "/usr/lib/python2.7/dist-packages/pgdb.py", line 482, in connect dbtty, dbuser, dbpasswd) pg.InternalError: could not connect to server: Connection refused Is the server running on host "ucs.[...entfernt...]" ([...entfernt...]) and accepting TCP/IP connections on port 5432?

Adresse und Port stimmt mit der in der postgresql.conf der Postgresql Version von 8.4 überein…

Die Paketdatenbank benutzt PostgreSQL; während PostgreSQL aktualisiert wird, ist schon klar, dass die nicht funktioniert. Sie müssen die Schritte durchführen, die auch Herr Petersen verlinkt hat, genauer: die in Updating from PostgreSQL 8.4 to PostgreSQL 9.1 beschrieben sind. Dort wird z.B. zuerst die Ausführ-Berechtigung vom Paketdatenbank-Script entfernt, sodass es eigentlich nicht hätte ausgeführt werden sollen.

Einzele Befehle dieser Anleitung können durchaus mit Fehlern fehlschlagen, besonders, wenn 9.1 überhaupt noch nicht richtig installiert war. Dadurch nicht verunsichern lassen. Wichtig ist, dass ab »pg_upgradecluster…« alles funktioniert.

Falls nicht: bitte pasten Sie die komplette Ein- und Ausgabe aller Befehle, die in Updating from PostgreSQL 8.4 to PostgreSQL 9.1 beschrieben sind, damit wir sehen können, wo es genau hakt.

Vielen Dank für Ihre Mühe und Hilfe.
Tatsächlich gibt leider immer noch einen Fehler.

root@ucs:~# chmod -x /usr/sbin/univention-pkgdb-scan root@ucs:~# service postgresql stop [ ok ] Stopping PostgreSQL 8.4 database server: main. root@ucs:~# rm -rf /etc/postgresql/9.1 root@ucs:~# apt-get install --reinstall postgresql-9.1 Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut. Statusinformationen werden eingelesen.... Fertig Erneute Installation von postgresql-9.1 ist nicht möglich, es kann nicht heruntergeladen werden. 0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert. root@ucs:~# pg_dropcluster 9.1 main --stop Error: specified cluster does not exist root@ucs:~# service postgresql start [ ok ] Starting PostgreSQL 8.4 database server: main. root@ucs:~# pg_upgradecluster 8.4 main Stopping old cluster... Disabling connections to the old cluster during upgrade... Restarting old cluster with restricted connections... Configuring already existing cluster (configuration: /etc/postgresql/9.1/main, data: /var/lib/postgresql/9.1/main, owner: 118:124) Error: move_conffile: required configuration file /var/lib/postgresql/9.1/main/postgresql.conf does not exist Error: Could not create target cluster root@ucs:~# ucr commit /etc/postgresql/9.1/main/* root@ucs:~# chown -R postgres:postgres /var/lib/postgresql/9.1 root@ucs:~# service postgresql restart [ ok ] Restarting PostgreSQL 8.4 database server: main. root@ucs:~# chmod +x /usr/sbin/univention-pkgdb-scan root@ucs:~#

Das gleiche Problem existiert auch in dem anderen Thread hier im Forum, den Herr Petersen verlinkt hatte: Upgrade auf UCS4: PostgreSQL > 9.1 / Bareos Problem. Meine Empfehlung ist auch hier für Sie:

Probieren Sie die Schritte bitte erneut und löschen Sie neben /etc/postgresql/9.1 in dem Moment auch /var/lib/postgresql/9.1, sprich »rm -rf /etc/postgresql/9.1 /var/lib/postgresql/9.1«.

Das hat geholfen. Vielen vielen Dank!
und sorry das ich den Zusammenhang zwischen den beiden Foren-Einträgen zuerst nicht gesehen habe.

Gern geschehen & kein Problem :slight_smile:

Hi, an der Stelle möchte ich noch darauf hinweisen, dass bei mir zusätzlich das Wiederanlegen mittels

/usr/bin/pg_createcluster -u postgres 9.1 main
ucr commit /etc/postgresql/9.1/main/*

notwendig war, damit postgresql wieder ansprechbar war. Ich hatte die Anleitung von http://sdb.univention.de/1292 als Skript ausgeführt, so dass Tippfehler eigentlich ausgeschlossen sein sollten. Ich nehme an, dass der Befehl

pg_upgradecluster 8.4 main
ucr commit /etc/postgresql/9.1/main/*

das hätte erledigen sollen?

Mir fiel der nicht aktive Postgresql erst gar nicht auf, ich konnte munter diverse Packages updaten usw. Ist es nun möglich/notwendig die Paketdatenbank “aufzufrischen”?

Moin,

ja, pg_upgradecluster sollte die Daten des alten Clusters nehmen, einen neuen anlegen und die Daten im neuen Importieren. Wenn das nicht geschehen ist, dann sollte pg_upgradecluster auch entsprechende Meldungen ausgegeben haben.

Zum Auffrischen der Paketdatenbank gibt es den Befehl »univention-pkgdb-scan«. Dieser muss, so meine ich zumindest, auf jedem Server einmal ausgeführt werden.

Mastodon