Rappi
April 30, 2010, 8:26am
1
Hallo Forum,
ich habe heute versucht meine Postgres Datenbank upzugraden.
Ich habe folgende Anleitung aus der UCS 2.3 Release Notes genutzt.
ucr unset postgres8/autostart
pg_dropcluster 8.3 main --stop
pg_upgradecluster 7.4 main
ucr commit /etc/postgresql/8.3/main/pg_hba.conf \
/etc/postgresql/8.3/main/pg_ident.conf \
/etc/postgresql/8.3/main/postgresql.conf
apt-get remove postgresql-7.4
invoke-rc.d postgresql-8.3 restart
Beim Befehl
pg_upgradecluster 7.4 main
erhalte ich folgende Fehlermeldung
Error: could not get cluster default encoding
Lt. Google soll das ein SELinux policy Problem sein.
Gruß
Marko Rappholz
Hallo,
sind in der Datenbank Daten enthalten oder ist diese leer? Ich konnte diese Fehlermeldung in einem kurzen Test nur mit einer leeren Datenbank provozieren.
Mit freundlichen Grüssen
Tobias Scherer
Rappi
May 27, 2010, 12:12pm
4
Guten Tag Herr Scherer,
Sorry, das ich erst jetzt Antworte ich war im Urlaub.
Die Datenbank 7.4 ist nicht leer.
Gruß
Marko Rappholz
Hallo,
für das Update müssen beide Versionen installiert sein und auf den jeweils zugewiesenen Ports 5432 und 5433 lauschen können. Ist evtl. einer der Ports nicht verfügbar wenn der Befehl “pg_upgradecluster 7.4 main” aufgerufen wird?
Hilft es evtl. in “/etc/postgresql/7.4/main/postgresql.conf” die Option port = 5432 einzukommentieren und den 7.4 postgresserver neuzustarten bevor die Migration durchgeführt wird?
Mit freundlichen Grüssen
Tobias Scherer
Rappi
June 7, 2010, 12:37pm
6
Hallo Herr Scherer,
der Postgresql-Server 8.3 läst sich nicht mehr starten
[code]root@taurus:/# invoke-rc.d postgresql-8.3 start
Starting PostgreSQL 8.3 database server
Error: /var/lib/postgresql/8.3/main is not accessible or does not exist
[/code]
[quote]"/etc/postgresql/7.4/main/postgresql.conf" die Option port = 5432 einzukommentieren[/quote] Ist auskommentiert.
Gruß
Marko Rappholz
Hallo,
können Sie bitte einmal die Ausgabe von
dpkg -l \*postgre\*
posten?
Mit freundlichen Grüssen
Tobias Scherer
Rappi
June 11, 2010, 9:03am
8
Guten Herr Scherer,
anbei die gewünschte Information:
root@taurus:~# dpkg -l \*postgre\*
Gewünscht=Unbekannt/Installieren/R=Entfernen/P=Vollständig Löschen/Halten
| Status=Nicht/Installiert/Config/U=Entpackt/Fehlgeschl. Konfiguration/
Halb installiert/Trigger erWartet/Trigger anhängig
|/ Fehler?=(kein)/Halten/R=Neuinst notw/X=beide (Status, Fehler: GROSS=schlecht)
||/ Name Version Beschreibung
+++-==============-==============-============================================
un odbc-postgresq <keine> (keine Beschreibung vorhanden)
ii postgresql 8.3.7-0.10.200 object-relational SQL database (supported ve
ii postgresql-7.4 1:7.4.17-0.20. object-relational SQL database, version 7.4
un postgresql-8.0 <keine> (keine Beschreibung vorhanden)
ii postgresql-8.3 8.3.7-0.10.200 object-relational SQL database, version 8.3
ii postgresql-cli 8.3.7-0.10.200 front-end programs for PostgreSQL (supported
ii postgresql-cli 1:7.4.17-0.20. front-end programs for PostgreSQL 7.4
ii postgresql-cli 8.3.7-0.10.200 front-end programs for PostgreSQL 8.3
ii postgresql-cli 94.10.20091027 manager for multiple PostgreSQL client versi
ii postgresql-com 94.10.20091027 PostgreSQL database-cluster manager
un postgresql-doc <keine> (keine Beschreibung vorhanden)
un postgresql-doc <keine> (keine Beschreibung vorhanden)
ii univention-pos 2.0.2-2.44.201 UCS - postgresql configuration
Gruß
Marko Rappholz
Hallo,
was bekommen Sie für eine Ausgabe wenn Sie “postgres” werden,
root@ucs:# su postgres
sich auf template1 verbinden,
postgres@ucs:$ psql template1
und folgendes Kommando absetzen:
template1=# \l
Mit freundlichen Grüssen
Tobias Scherer
Rappi
June 18, 2010, 9:14am
10
Guten Tag Herr Scherer,
hier der gewünschte Output:template1=# \l
Liste der Datenbanken
Name | Eigentümer | Kodierung
-----------+-------------+-----------
pkgdb | pkgdbu | UNICODE
template0 | postgres | SQL_ASCII
template1 | postgres | SQL_ASCII
(3 Zeilen)
Gruß
Marko Rappholz
Hallo,
da in Ihrem PostgreSQL 7.4 Cluster nur eine Datenbank verwendet wird, würde ich empfehlen die Daten mittels pg_dumpall (es sollte die PostgreSQL 7.4 Version verwendet werden) zu sichern (“pg_dumpall > db.out”), den PostgreSQL 7.4 Cluster zu stoppen bzw. die Pakete zu deinstallieren und die Datenbank-Sicherung mittels psql (es sollte die PostgreSQL 8.3 Version verwendet werden) in den PostgreSQL 8.3 Cluster einzuspielen (“psql -f db.out postgres”).
Hierbei gehen eventuell Caches und/oder Indizes verlohren die bei der Migration mittels pg_upgradecluster erhalten bleiben würden. Diese werden aber beim normalen Betrieb der PKGDB wieder aufgebaut sodass hier kein spürbarer Nachteil entstehen würde.
Mit freundlichen Grüßen
Janis Meybohm
Rappi
June 25, 2010, 6:29am
12
Guten Tag Herr Meybohm,
Danke für den Lösungsweg, ich werden ihn heute noch testen.
Ich habe aber auch ein Server wo 2 Datenbanken bacula u. pkgdb vorhanden sind kann ich dort auch den gleichen Weg gehen?
Gruß
Marko Rappholz
Hallo,
auch bei mehreren Datenbanken sollte der Beschriebene Weg funktionieren, da mit “pg_dumpall” immer alle Datenbanken exportiert werden.
Mit freundlichen Grüßen
Janis Meybohm