Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert sind; Die von diesem Forum gesetzten Cookies düfen nur auf dieser Website verwendet werden und stellen kein Sicherheitsrisiko dar. Cookies auf diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Bekanntmachungen
Version Postgresql
#5
Hallo zusammen,

wie versprochen hier die Informationen zum Update des Postgresql Servers.

Disclaimer (wie es im englischen so schön heißt):

Die unten stehende Prozedur hat bei mir problemlos funktioniert und entspricht der empfohlenen Vorgehensweise beim Upgrade des Postgresql-Servers. Ich gebe aber keine Garantien dafür, dass das bei allen so funktioniert (schon gleich gar nicht unter Linux) und übernehme keine Verantwortung für entstandene Schäden oder Datenverluste.
Wem das Ganze zu riskant ist sollte sich an ein Systemhaus wenden.

Wir müssen zwei Szenarien unterscheiden:

1. Einspielen des Patches

Wenn ihr nur eure aktuelle Postgresql-Installation aktualisieren wollt (also z. B. von 9.2.11 auf 9.2.22, von 9.6.1 auf 9.6.4, ...) ist der Aufwand überschaubar. Alle Installationen mit gleicher Haupt- und Nebenversionsnummer (also z. B. 9.2.1, 9.2.2, ...) verwenden das gleiche Programmverzeichnis und können auch das gleiche Datenverzeichnis verwenden. Hier muss man tatsächlich nur folgende Schritte durchgehen:

- Datensicherung von ASV und Notenmanager vornehmen, sicher ist sicher.
- ASV-Dienst stoppen
- Sicherstellen, dass Notenmanager nicht genutzt wird
- Postgresql Server Dienst auf dem Server stoppen
- Installation laufen lassen
- Postgresql Server Dienst auf dem Server wieder starten
- ASV-Dienst starten

Bei mir hat das (Windows Server) wunderbar funktioniert. Das Installationsprogramm erkennt die vorhandene Version, das Datenverzeichnis und den Port und führt das Upgrade durch. Änderungen an den Konfigurationsdateien mussten nicht vorgenommen werden.

2. Upgrade auf eine aktuelle Hauptversion

Wenn ihr von einer älteren Version (9.2, 9.3, 9.4, 9.5) gleich auf die aktuelles Version 9.6.5 upgraden wollt wird es aufwändiger. Diese können bzw. sollten nicht einfach in das gleiche Verzeichnis wie die bestehende Installation gespielt werden und auch nicht das gleiche Datenverzeichnis verwenden.

Folgender Weg hat bei mir funktioniert (ACHTUNG: die folgende Beschreibung gilt für Windows Server, mit Linux kenne ich mich zu wenig aus. Sollte aber im Prinzip ähnlich gehen):
  • Neuinstallation von 9.6.5 auf dem gleichen Server. Dabei en anderes Programmverzeichnis wählen (geschieht automatisch) und ein anderes Datenverzeichnis angeben. Als Portnummer habe ich 5433 vergeben (schlägt der Windows-Installer sowieso automatisch vor). Wichtig: als Passwort für den Nutzer "postgres" solltet ihr das gleiche verwenden wie bei der alten Installation. Das verhindert Verwirrungen zwischendurch.
  • Kopieren der pg_hba.conf aus dem Datenverzeichnis der alten Installation in das Datenverzeichnis der neuen Installation. WICHTIG: den Dienst für den neuen Postgresql-Server neu starten!
Alter und neuer Datenbankserver laufen jetzt friedlich nebeneinander her, weder ASV noch Notenmanager waren bislang betroffen. Hier kann man durchaus mal einen Tag Pause machen. Dann überspielen wir die Daten.
  • Sicherheitshalber den ASV-Dienst stoppen.
  • Sicherstellen, dass niemand mit dem Notenmanager arbeitet.
  • Eine Eingabeaufforderung öffnen und in das Verzeichnis C:\Program Files\postgresql\9.X\bin der alten Installation wechseln.
  • Folgenden Befehl eingeben:
    pg_dumpall.exe --host localhost --port 5432 --username "postgres" --role "postgres" --no-password  --verbose --file "H:\pgdumpall_9_4.sql"Das Verzeichnis und den Dateinamen könnt ihr natürlich beliebig wählen. Da der Befehl direkt auf dem Server ausgeführt wird werdet ihr normalerweise auch nicht nach dem Passwort für den Benutzer "postgres" gefragt.
  • Jetzt in das Verzeichnis C:\Program Files\postgresql\9.6\bin wechseln.
  • Dort den Befehl

    psql --username=postgres --port=5433 --file="H:\pgdumpall_9_4.sql"

    eingeben. Dadurch wird Backup auf den neuen Server gespielt.

  • Anschließend mit pgAdmin 4 kontrollieren: neuen Server anklicken und verbinden, gegebenenfalls aktualisieren (rechte Maustaste > Refresh). Es müssten jetzt alle Datenbanken und auch die Benutzer nmuser, nmsvXXXX, ... vorhanden sein.
An der Stelle können wir auf einfache Weise mit dem Notenmanager testen, ob alle gut gegangen ist:
  • nmadmin.conf im Programmverzeichnis von NMAdmin öffnen
  • In der Zeile "dbserverport =" die 5432 testweise in 5433 ändern (oder halt den Port, den ihr bei der Neuinstallation gewählt habt). Änderungen speichern und NMAdmin starten.
  • Wenn das klappt, das gleiche auch mit der nmsv.conf der Schulversion durchführen, sollte genauso funktionieren.
  • Anschließend den Port in beiden Dateien wieder auf 5432 stellen.
Jetzt kommt der letzte Teil: alle Clients und auch die ASV suchen den Postgresql Server auf dem Port 5432. Jetzt könnte man entweder die Firewall anpassen und die Konfiguration ändern (ich weiß aber nicht, wie das bei der ASV funktioniert). Alternativ ändern wir die Ports der Postgresql-Server. Der alte wird z. B. auf 5431 umgestellt und der neue dann auf 5432 gesetzt.
  • Mit dem Windows Explorer das Verzeichnis C:\Program Files\postgresql\9.X\data der alten Installation öffnen.
  • postgresql.conf mit einem Editor öffnen und die Zeile "port = 5432" in "port = 5431" umändern.
  • Dienst für den alten Postgresql-Server neu starten
  • In das Verzeichnis C:\Program Files\postgresql\9.6\data der neuen Installation wechseln
  • Port auf 5432 ändern und Dienst für den neuen Postgresql-Server neu starten
Jetzt müssten sich alle Notenmanager-Clients ohne weitere Änderungen mit der Datenbank verbinden können. Wenn das klappt, den ASV-Dienst wieder starten. ASV-Client starten und testen, ob der Zugriff funktioniert.

Wenn alles läuft: alten Dienst dauerhaft deaktivieren und irgendwann dann mal die alte Installation komplett löschen.

Wenn es Probleme gibt: einfach die Ports der beiden Installationen wieder zurückändern (die letzten 5 Punkte oben) und die Dienste neu starten. Wenn ihr dann einen neuen Versuche vornehmt müsst ihr aber die Datensicherung der alten Installation wieder neu erstellen und wieder in die neue Installation importieren, da ja sicher inzwischen Daten importiert wurden.

Gruß
Stephan

PS: zum jetzigen Zeitpunkt sollte jeder zumindest den Patch einspielen. Nutzer der Postgresql Version 9.2.X müssen aber generell sich um ein Update auf 9.6 kümmern, da der Support für 9.2 in diesem September eingestellt wird:

"The PostgreSQL community will stop releasing updates for the 9.2.X release series in September 2017. Users are encouraged to update to a newer release branch soon." (https://www.postgresql.org/docs/9.2/stat...-2-23.html)
RSS-Feed mit aktuellen Informationen über Updates, Änderungen in der Programmbedienung und anderen wichtigen Mitteilungen unter http://www.notenmanager.net/feeds/Notenmanager.xml
Zitieren


Nachrichten in diesem Thema
Version Postgresql - von pschr - 04.09.2017, 07:14
RE: Version Postgresql - von useif - 04.09.2017, 10:35
RE: Version Postgresql - von mnerlich - 04.09.2017, 13:12
RE: Version Postgresql - von NM-Himself - 05.09.2017, 08:53
RE: Version Postgresql - von NM-Himself - 05.09.2017, 18:40
RE: Version Postgresql - von pschr - 06.09.2017, 20:29
RE: Version Postgresql - von thms - 25.01.2019, 20:18
pgAdmin 4 - von martins - 05.02.2019, 13:47
RE: Version Postgresql - von NM-Himself - 05.02.2019, 14:00
RE: Version Postgresql - von martins - 06.02.2019, 00:25
RE: Version Postgresql - von Mr. A - 18.03.2019, 14:17
RE: Version Postgresql - von NM-Himself - 18.03.2019, 15:30

Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  PostGreSQL im Parallel-Testbetrieb keine Datenaktualisierung Graf 2 583 24.06.2023, 09:44
Letzter Beitrag: Graf
  postgresql umziehen martin 1 2.651 22.11.2019, 13:54
Letzter Beitrag: NM-Himself
  postgreSQL testen Ott 4 5.463 04.09.2019, 15:10
Letzter Beitrag: Ott
  PostgreSQL 10 über Client mit Windows XP trainapollo 0 1.938 22.02.2019, 18:18
Letzter Beitrag: trainapollo
  PostgreSQL 10.6 andy57 2 4.040 23.12.2018, 10:44
Letzter Beitrag: andy57

Gehe zu:


Deutsche Übersetzung: MyBB.de, Powered by MyBB, © 2002-2024 MyBB Group.