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
#1
Servus Stefan,

in der ASV wird empfohlen, aus Sicherheitsgründen eine höhere Version als 9.2 von Postgreql zu verwenden. Bei uns laufen der NM und die ASV in der Version.
Hältst du das Upgrade für nötig und wie kann man ggf. ohne  Datencrash den Umstieg bewältigen? Gibt es ein entsprechendes Tutorial? Ich finde nur Handreichungen für Neuinstallationen (ASV), aber  nichts für Updates.

Wünsche allen einen guten Anfang
Peter
Zitieren
#2
DAs würde mich auch interessieren. Wir sind bei bei 9.3.irgendwas ;-)
Zitieren
#3
Hallo NM-Forum,

soweit ich auf Heise Online gelesen habe, kann man bei den veralteten Postgres-Versionen von ''aussen'' auf die Datenbanken zugreifen, ohne sich anmelden zu müssen. Daher ist das Update auf die neueste Version im entsprechenden 9er-Zweig unbedingt zu empfehlen. Dabei muss man die ASV-Daten nicht anfassen (Sicherung vor dem Update ist jedoch immer eine gute Sache). Mann muss also nur im entsprechenden Zweig updaten. Z. B. wenn man Postgres 9.53 hat so muss man auf 9.591 upgraden. Dabei ist lediglich Postgres 9.53 zu deinstallieren und die neue Version 9.591 zu installieren und dabei ist der 9.5er-Datenpfad beizubehalten. Da der Datenpfad erhalten bleibt, kann man sofort wieder auf die ASV mit der neuen PG-Version zugreifen. Hat man Postgres 9.2, so muss man auf die neueste 9.2er Version unter Beibehaltung des 9.2er-Datenpfads updaten, usw.

mfg mn.
Zitieren
#4
Hallo zusammen,

ich vermute, dass sich die Info der ASV auf folgende Sicherheitshinweise bezieht: https://www.postgresql.org/about/news/1772/. Informationen auf Deutsch unter https://portal.cert.dfn.de/adv/DFN-CERT-2017-1416/

Da ich jetzt erst einmal in die Schule muss schicke ich heute Nachmittag mal ein Posting mit Hinweisen, wie ein Update durchzuführen ist.

Gruß
Stephan
RSS-Feed mit aktuellen Informationen über Updates, Änderungen in der Programmbedienung und anderen wichtigen Mitteilungen unter http://www.notenmanager.net/feeds/Notenmanager.xml
Zitieren
#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
#6
Servus Stefan,
erst mal Dank für die Handreichung.

Für jene, die sich an das Upgrade wagen: Die Rücksicherung erfolgte bei mir in den Ordner C:\Program Files\postgresql\9.6\pg96\bin, weil ich den bin-Ordner nicht so fand wie von Stefan beschrieben.

Auch Vorsicht mit dem Passwort, weil die Rücksicherung das Passwort der alten Version übernimmt. Also Alt- und Neuversion mit dem selben Passwort versehen.
Die Portänderung funktioniert und jetzt arbeitet alles mit der neuesten Version.

Viel Erfolg beim Umstieg!
Zitieren


Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  PostgreSQL 10.6 andy57 2 198 23.12.2018, 10:44
Letzter Beitrag: andy57
  PostgreSQL DB in einer Real- und Wirtschaftsschule SOFTWERK 1 839 26.04.2017, 12:26
Letzter Beitrag: Mr. A
  PostGreSQL zwei Schularten Oberpfälzer2 1 882 22.02.2017, 12:01
Letzter Beitrag: NM-Himself
  Zeugnisvorlage bei PostGresQL andy57 2 1.320 28.07.2016, 11:41
Letzter Beitrag: andy57
  SV kann nicht auf PostgreSQL-Datenbank zugreifen Hammelburger 7 3.201 19.11.2015, 12:27
Letzter Beitrag: derwing

Gehe zu:


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