Stand-Alone Rechner einrichten

<< Click to Display Table of Contents >>

Navigation:  Häufig gestellte Fragen > Postgresql >

Stand-Alone Rechner einrichten

> Letzte Änderungen am 30.05.2018 <

Es gibt eine Reihe von Situationen, in denen ein netzwerkunabhängiger Rechner benötigt wird. Sei es um neue Funktionen oder Einstellungen zu testen oder weil im Konferenzraum keine Netzwerkanbindung an den zentralen Datenbankserver existiert. Im folgenden Tutorial werden Sie Schritt für Schritt durch die Einrichtung eines netzunabhängigen Rechners geführt.

Szenario für dieses Tutorial

Das Verwaltungsnetz hat die Netzwerkadresse 192.168.2.0

Der Postgresql Datenbankserver ist in der Version 10 auf dem Netzwerkserver mit der IP-Adresse 192.168.2.1 installiert. (Programmverzeichnis C:\Program Files\PostgreSQL\10)

Der Datenbankserver verwendet den Port 5432 (Standardport).

Die Schulnummer ist 9999, d. h. die Notenmanager-Datenbank hat den Namen bsnm9999 und das Benutzerkonto des Notenmanagers lautet nmsv9999.

Der Notenmanager ist bereits auf allen Clients installiert, die Programmdatei (und damit auch die nmsv.conf) liegt in der Netzwerkfreigabe H:\

Der Stand-Alone-Rechner, hier ein Laptop, ist für die Zeit der Installation mit dem Netzwerkverbunden (LAN oder WLAN).

Auf dem Laptop wurde das Verzeichnis C:\PGDaten angelegt, in dem alle notwendigen Dateien werden.
SzenarioRoadwarrier

Vorarbeiten

Bevor Sie sich an die eigentliche Installation machen sollten Sie alle benötigten Informationen und Programme zusammentragen und in ein Verzeichnis speichern (im Szenario: C:\PGDaten). Dann ist die spätere Einrichtung des Rechners eine Sache von wenigen Minuten.

Laden Sie sich folgende Programme herunter:

Installationsprogramm für den Postgresql Datenbankserver für Windows: https://www.enterprisedb.com/downloads/postgres-postgresql-downloads. Wählen Sie auf der Downloadseite die gewünschte Version aus (am besten die neueste) und das Betriebssystems des Computers aus (Windows, am besten 64 bit).

Installationsprogramm für die Notenmanager Schulversion: http://zips.notenmanager.net/NMSV4Setup.exe

Installationsprogramm für NMAdmin: http://zips.notenmanager.net/NMAdminSetup.exe

 

Speichern Sie alle Dateien unter C:\PGDaten auf dem Laptop.

Des weiteren benötigen Sie:

IP-Adresse und Port des Postgresql Datenbankservers im Netzwerk (Im Szenario 192.168.2.1 und 5432). Diese Informationen können Sie auch aus der nmsv.conf der Schulversion herauslesen.

Passwort des Postgresql Datenbankbenutzers "postgres". Dieses Passwort wurde bei der Installation von Postgresql festgelegt und ist zumindest dem Systemadministrator bekannt. Sollten Sie nicht der Systemadministrator sein und möchte Ihnen der Systemadministrator das Passwort nicht mitteilen, dann müssen Sie die Erstinstallation des Laptops dem Systemadministrator überlassen.

Passwort des Notenmanager Datenbankbenutzers "nmsvXXXX" (XXXX steht für die Schulnummer Ihrer Schule). Dieses Passwort wurde bei der Ersteinrichtung der Notenmanager Datenbank auf dem Postgreql Datenbankserver festgelegt.

Eine Kopie der Konfigurationsdatei nmsv.conf aus der Netzwerkinstallation der Schulversion.

Weitere Vorarbeiten:

Legen Sie eine neue Textdatei "command.txt" an. Kopieren Sie folgende Befehle in diese Datei:

cd %programfiles%\postgresql\10\bin
Ersetzen Sie die "10" gegebenenfalls mit der Versionsnummer Ihrer Installation. Um die Versionsnummer festzustellen können Sie in das Verzeichnis C:\Programme\PostgreSQL bzw. C:\Programme (x86)\PostgreSQL wechseln.

pg_dumpall.exe --host 192.168.2.1 --port 5432 --username "postgres" --verbose --file C:\Users\[Benutzername]\Documents\pgroles.sql --roles-only
Ersetzen Sie die IP-Adresse und den Port durch die Werte für Ihr Netzwerk (z. B. die Eintragungen aus der nmsv.conf). Für den Parameter --file wählen Sie bitte ein Verzeichnis, in dem Sie Schreibrechte haben!

 

Am besten kopieren Sie alle Dateien in ein Verzeichnis auf dem Stand-Alone-Rechner.

Einmalige Einrichtungsschritte

Die folgenden Schritte sind nur einmalig zur Vorbereitung des Stand-Alone-Rechners notwendig.

1.Installieren Sie den Postgresql Datenbankserver.
Übernehmen Sie in allen Dialogen die Standardeinstellungen (insbesondere für das Installationsverzeichnis und für den Port). Während der Installation müssen Sie auch ein Passwort für den Benutzer "postgres" festlegen. Es wird empfohlen, nicht das gleiche Passwort wie beim Netzwerk-Datenbankserver zu verwenden, da dieses Passwort immer wieder für das Überspielen der Daten vom Server auf den Laptop benötigt und daher möglicherweise auch an andere Personen weitergereicht wird.
Notieren Sie sich das Passwort und bewahren Sie es sicher auf.
Am Ende der Installation erhalten Sie noch die Möglichkeit, zusätzliche Komponenten zu installieren. Dies ist für unsere Zwecke nicht notwendig.

2.Installieren Sie die Notenmanager Schulversion.

3.Installieren Sie NMAdmin.

4.Öffnen Sie die Kopie der Datei nmsv.conf (siehe oben) mit einem Editor und passen Sie folgende Zeile an: dbserver = localhost

5.Kopieren Sie die geänderte Datei in das Programmverzeichnis der Schulversion (C:\Program Files (x86)\beSoft\NMSchulversion).  

6.Kopieren Sie die geänderte Datei in das Programmverzeichnis von NMAdmin (C:\Program Files (x86)\beSoft\NMAdmin) und benennen Sie sie in nmadmin.conf um.

 

Die Programminstallationen sind damit abgeschlossen. Im nächsten Schritt müssen die Benutzerkonten vom Netzwerkserver auf den Laptop transferiert werden.

Wichtig: Es existieren jetzt zwei Postgresql-Installationen mit jeweils einem Benutzerkonto "postgres" aber mit unterschiedlichen Passwörtern. Um Verwechslungen zu vermeiden werden die Konten im Folgenden die Begriffe "Server-Konto" und "Laptop-Konto" verwendet, um die beiden Benutzerkonten auseinanderhalten zu können. Der Benutzer nmsv9999 hat auf beiden Installationen das gleiche Passwort, daher ist hier eine solche Unterscheidung nicht notwendig.

Wenn der Laptop sich im LAN des Datenbankservers befindet

1.Öffnen Sie eine Kommandozeile. Dazu drücken Sie die Windowstast + R und geben dann in das Textfeld "cmd" ein. Klicken Sie dann auf OK oder drücken Sie die Eingabetaste.

2.Öffnen Sie die "command.txt" (s. oben) und markieren Sie den ersten Befehl (cd %programfiles%\postgresql\10\bin). Kopieren Sie den Befehlt (Strg + C oder mit der rechten Maustaste) und klicken Sie dann mit der rechten Maustaste in das schwarze Fenster der Eingabeaufforderung. Der Befehl wird dann automatisch eingefügt und Sie können die Eingabetaste drücken, um den Befehl auszuführen.

3.Markieren und kopieren Sie anschließend den zweiten Befehl (pg_dumpall.exe --host 192.168.2.1 --port 5432 --username "postgres" --verbose --file C:\PGDaten\pgroles.sql --roles-only), fügen Sie ihn wieder in die Eingabeforderung ein und drücken Sie die Entertaste.

4.Sie werden dann aufgefordert, dass Passwort des Server-Kontos "postgres" einzugeben. ACHTUNG: während der Eingabe ist kein Cursor zu sehen, damit niemand die Länge des Passwortes erraten kann. Sie müssen das Passwort also komplett "blind" eingeben.

5.Starten Sie jetzt das Programm pgAdmin 4 über das Startmenü von Windows (im Untermenü "Postgresql").

6.Klicken Sie auf das Plus-Zeichen vor "Servers" und anschließend auf das Plus-Zeichen vor "PostgreSQL XX". Geben Sie das Passwort für das Laptop-Konto "postgres" ein und klicken Sie auf OK.

7.Klicken Sie auf das Plus-Zeichen vor "Databases" und wählen Sie dann die Datenbank mit dem Namen "postgres" aus.

8.Wählen Sie in der Menüzeile von pgAdmin 4 zuerst "Tools" und dann "Query Tool" aus.

9.Im rechten Bereich des Programmfensters finden Sie ein Ordner-Symbol zum Öffnen einer Datei. Wählen Sie über diesen Dialog die Datei "pgroles" aus, die Sie unter Punkt 3 erzeugt haben. Es werden jetzt eine Reihe von SQL-Befehlen angezeigt, mit denen Benutzerkonten erstellt werden können.

 

WICHTIG: Mit dem Befehl unter Punkt 3 wurden Befehle erzeugt, um ALLE Benutzerkonten neu einzurichten. Einige Benutzerkonten werden auf dem Laptop nicht benötigt (z. B. das ASV-Benutzerkonto), andere sind auf dem Rechner schon angelegt worden (z. B. das postgres-Konto). Daher müssen Sie noch manuelle Änderungen vornehmen.

 

10. Für jedes Benutzerkonto finden Sie zwei Zeilen, eine mit "CREATE ROLE" beginnend, eine mit "ALTER ROLE" beginnend. Löschen Sie alle Zeilen raus bis auf diejenigen, die sich auf die Konten "nmuser" und "nmsv9999" beziehen.

11. Klicken Sie auf die Schaltfläche mit dem Blitz-Symbol oder drücken Sie F5 um die Befehle auszuführen. Anschließend sind die Konten angelegt und die einmalige Einrichtung ist abgeschlossen.

Wenn der Laptop keine LAN-Anbindung hat

Führen Sie die gleichen Schritte 1 - 4 wie oben aus. Als Verzeichnis für die Ausgabe der Daten (Parameter --file) wählen Sie aber einen USB-Stick und kopieren Sie dann die erstellte Datei auf den Laptop. Fahren Sie dann mit den Punkten 5 - 11 fort.

 
Erstellen einer Batch-Datei zum Kopieren der Daten

Der Postgresql-Server auf dem Laptop ist jetzt fertig konfiguriert und Sie können jetzt jederzeit eine Kopie der Originaldaten vom Netzwerkserver überspielen. Für die Datenübertragung ist es am bequemsten, wenn Sie den Laptop mit dem Netzwerk verbinden und dann die Übertragung mit einer Batch-Datei durchführen.

Machen Sie einen Rechtsklick auf die Datei "CopyDatabase.bat" und wählen Sie "Bearbeiten" aus. Den Inhalt der Datei müssen Sie jetzt einmalig anpassen:

 

cd %programfiles%\postgresql\10\bin

psql --command "DROP DATABASE IF EXISTS bsnm9999;" --dbname postgres --host localhost --port 5432 --username postgres

psql --command "CREATE DATABASE bsnm9999 OWNER nmsv9999;" --dbname postgres --host localhost --port 5432 --username postgres

pg_dump.exe --host 192.168.2.1 --port 5432 --username nmsv9999 --format custom --blobs --verbose --file C:\PGDaten\nmdb.backup "bsnm9999"

pg_restore.exe --host localhost --port 5432 --username nmsv9999 --format custom --dbname bsnm9999 --verbose C:\PGDaten\nmdb.backup

 

Erläuterungen:

Zeile 1: der Befehl wechselt in das Verzeichnis mit den Postgresql Programmdateien. Hier müssen Sie die "10" durch die Versionsnummer Ihrer Installation ersetzen.

Zeile 2: der Befehl löscht eine möglicherweise bereits vorhandene Datenbank bsnm9999 auf dem Laptop. Ersetzen Sie 9999 jeweils durch Ihre Schulnummer. Beim Ausführen des Befehls werden Sie nach dem Passwort des Laptop-Kontos "postgres" gefragt.

Zeile 3: der Befehl eine neue, leere Datenbank bsnm9999 auf dem Laptop. Ersetzen Sie 9999 jeweils durch Ihre Schulnummer. Beim Ausführen des Befehls werden Sie nach dem Passwort des Laptop-Kontos "postgres" gefragt.

Zeile 4: der Befehl erstellt ein Backup der Datenbank bsnm9999 auf dem Netzwerkserver und speichert es in der Datei C:\PGDaten\nmdb.backup. Hier müssen Sie die 9999 durch Ihre Schulnummer ersetzen und die IP-Adresse des Servers anpassen. Beim Ausführen des Befehls werden Sie nach dem Passwort des Benutzers "nmsv9999" gefragt.

Zeile 5: der Befehl spielt die Datensicherung aus der Datei C:\PGDaten\nmdb.backup ein. Beim Ausführen des Befehls werden Sie nach dem Passwort des Benutzers "nmsv9999" gefragt.

 

Kopieren der Daten vor Konferenzen

Sie benötigen

Das Passwort für den Datenbankbenutzer "nmsv9999".

Das Passwort für das Laptop-Konto "postgres".

Die Batch-Datei "CopyDatabase.bat" mit den Kopierbefehlen.

 

Starten Sie die Batch-Datei per Doppelklick. Die Befehle werden abgearbeitet und in folgender Reihenfolge wird nach den Passwörtern gefragt:

1.Passwort "postgres"

2.Passwort "postgres"

3.Passwort "nmsv9999"

4.Passwort "nmsv9999"

 

Hinweis: die Passwörter könnten auf dem System bzw. in der Batch-Datei auch so hinterlegt werden, dass eine Eingabe beim Überspielen der Daten nicht notwendig wäre. Insbesondere aber bei der Verwendung von mobilen Geräte wie Laptops oder Tablets ist davon generell abzuraten.