Datenbank-Skripte
Das VCDB v5
Softwarepaket enthält Shell- und SQL-Skripte für Aufgaben wie das
Aufsetzen oder Löschen einer VCDB-Instanz, das Erstellen
zusätzlicher Datenbank-Schemas sowie das Gewähren oder Entziehung von Zugriffsrechten.
Die Datenbank-Skripte sind sowohl im VCDB Softwarepaket als auch im vcdb-tool enthalten.
|
Shell-Skripte
Die Shell-Skripte befinden sich im Verzeichnis vcdb/postgresql/shell-scripts
des VCDB-Softwarepakets
oder im gleichnamigen Verzeichnis innerhalb des Installationsverzeichnisses von vcdb-tool
. Sie stehen in zwei Varianten
in den folgenden Unterordnern zur Verfügung:
-
unix
für die Verwendung auf UNIX/Linux/macOS-Systemen; und -
windows
für die Verwendung auf Windows-Systemen.
Die folgende Tabelle gibt einen Überblick über die verfügbaren Shell-Skripte und deren Einsatzzweck.
Skript [.sh|.bat] | Beschreibung |
---|---|
|
Speichert die Verbindungsparameter für eine VCDB-Instanz, die von allen anderen Skripten verwendet werden |
|
Erstellt eine neue VCDB-Instanz (relationales Schema einschließlich aller Datenbankfunktionen) |
|
Erstellt ein zusätzliches Datenschema (analog zum Standardschema |
|
Löscht eine bestehende VCDB-Instanz (inkl. aller Bestandteile des relationalen Schemas) |
|
Entfernt ein Datenschema, das mit |
|
Gewährt nur Lese- oder Lese- und Schreibzugriff auf eine VCDB-Instanz |
|
Entzieht Lese- oder Schreibrechte auf eine VCDB-Instanz, die mit |
|
Installiert die Changelog-Erweiterung für eine VCDB-Instanz |
|
Entfernt die Changelog-Erweiterung von einer VCDB-Instanz |
|
Eine bestehende VCDB-Instanz auf eine neuere Minor- oder Patch-Version aktualisieren |
Die Skripte sind für die Ausführung in einer interaktiven Shell-Sitzung konzipiert und fordern den Benutzer zur Eingabe der
erforderlichen Informationen zur Durchführung der entsprechenden Aktion auf.
Das connection-details
Skript nimmt dabei eine besondere Rolle ein, da es die Verbindungsparameter zur
VCDB v5
Instanz definiert. Diese Angaben werden von allen anderen Skripten übernommen. Passen Sie dieses Skript daher vor der Ausführung
eines der anderen Skripte zunächst an Ihre Umgebung an – insbesondere der Pfad zur psql
Ausführungsdatei muss korrekt gesetzt sein.
Öffnen Sie das connection-details
Skript mit einem Texteditor Ihrer Wahl und geben Sie die notwendigen Informationen ein,
wie im folgenden Beispiel dargestellt.
-
Linux
-
Windows CMD
#!/bin/bash
# Provide your database details here ----------------
export PGBIN=/var/lib/postgresql/[version]/bin
export PGHOST=localhost
export PGPORT=5432
export CITYDB=citydb_v5
export PGUSER=citydb_user
#----------------------------------------------------
# Provide your database details here ----------------
set PGBIN=C:\Program Files\PostgreSQL\[version]\bin
set PGHOST=localhost
set PGPORT=5432
set CITYDB=citydb_v5
set PGUSER=citydb_user
#----------------------------------------------------
Wenn der Pfad zur psql Ausführungsdatei bereits in der PATH Umgebungsvariable enthalten ist, kann die Zeile
zum Setzen der PGBIN-Variable auch auskommentiert oder gelöscht werden.
|
Nach Anpassung des connection-details
Skripts können alle anderen Skripte entweder durch Doppelklick oder innerhalb
einer Shell-Sitzung gestartet werden. Unter UNIX/Linux müssen möglicherweise zunächst die entsprechenden
Dateiberechtigungen gesetzt werden, um das Skript ausführbar zu machen.
Das unten stehende Beispiel zeigt, wie das create-db
Skript ausgeführt wird, um eine neue VCDB v5
Instanz aufzusetzen.
-
Linux
-
Windows CMD
chmod u+x create-db.sh
./create-db.sh
create-db.bat
Es ist auch möglich, eine andere connection-details
Datei aus einem anderen Ordner zu verwenden:
-
Linux
-
Windows CMD
./create-db.sh /path/to/connection-details.sh
create-db.bat C:\path\to\connection-details.bat
SQL-Skripte
Technisch gesehen sind die oben beschriebenen Shell-Skripte lediglich Wrapper, die Benutzereingaben auf komfortable Weise erfassen. Die eigentlichen Aktionen auf Datenbankebene werden durch SQL-Skripte durchgeführt, die von den Shell-Skripten aufgerufen werden.
Die SQL-Skripte befinden sich im vcdb/postgresql/sql-scripts
Verzeichnis des VCDB-Softwarepakets
oder im gleichnamigen Verzeichnis innerhalb des Installationsverzeichnisses von vcdb-tool
.
Wie bei den Shell-Skripten gibt es auch hier Unterordner für unix
oder windows
, je nach Betriebssystem.
Die SQL-Skripte sind für die Ausführung mit psql
konzipiert.
Die meisten SQL-Skripte benötigen Eingabeparameter, um die jeweilige Datenbankaktion auszuführen. Diese Parameter werden als
Kommandozeilen-Parameter an psql
übergeben. Das untenstehende Beispiel zeigt, wie das create-db.sql
Skript über psql
aufgerufen wird, um eine
VCDB v5
Instanz aufzusetzen. Die erforderlichen Eingabeparameter für dieses Skript werden im Kapitel zum
Aufsetzen einer Datenbank erläutert. Weitere Informationen zur Nutzung
von psql
und den verfügbaren Kommandozeilen-Parametern finden Sie in der offiziellen Dokumentation von psql
.
-
Linux
-
Windows CMD
psql -d "citydb_v5" \
-h localhost \
-U "citydb_user" \
-f "/path/to/the/reate-db.sql" \
-v srid="25833" \
-v srs_name="urn:ogc:def:crs:EPSG::25833" \
-v changelog="no"
psql -d "citydb_v5" ^
-h localhost ^
-U "citydb_user" ^
-f "C:\path\to\the\create-db.sql" ^
-v srid="25833" ^
-v srs_name="urn:ogc:def:crs:EPSG::25833" ^
-v changelog="no"
Anstelle Eingangswerte direkt an den psql Befehl zu übergeben, wie oben dargestellt, empfiehlt es sich,
Shell- oder Umgebungsvariablen zu verwenden. So lassen sich die SQL-Skripte flexibler in verschiedenen Umgebungen und Systemen wiederverwenden.
Dies vereinfacht etwa die Nutzung der SQL-Skripte in automatischen Prozessen, ihre Integration in andere Software oder
ihre Ausführung als Teil einer CI/CD-Pipeline. Insgesamt lassen sich so Workflows optimieren, die die SQL-Skripte nutzen.
|