-
Notifications
You must be signed in to change notification settings - Fork 2
Administration_Installation
Florian Fehring edited this page Jun 17, 2024
·
5 revisions
- Postgres-Datenbankserver (ab Version 11.x)
- Java17
- Payara WebServer (Version 6.x)
- Mind. 20 MB Speicherplatz (Anwendung)
- 1 GB RAM
- 900 MHz
- Datenbank anlegen
- Datenbank und Schema auf dem DB-Server anlegen
- Tabellen anlegen
- Anlegen eines Connection-Pools im Payara
- Der postgres jdbc Treiber muss im Payara installiert sein
- Payara Admin-Oberfläche öffnen (http://localhost:4848)
- Unter Resources / JDBC / JDBC Connection Pools auf "new" klicken
- Pool-Namen eingeben
- Connection-Type: javax.sql.ConnectionPoolDataSource
- Databasevendor: postgresql
- Auf next klicken
- Die Datenbankzugangsdaten in die entsprechenden Felder eintragen
- Anlegen einer Ressource "jdbc/SmartData", welche auf den Connection-Pool verweist
- Unter Resources / JDBC / JDBC Resources auf "new" klicken
- JNDI-Name: "jdbc/SmartData" (oder ein anderer, siehe dazu Hinweise unten)
- Pool-Name: Den zuvor angelegten auswählen
- Deploy der SmartData.war
- Über Applications dann auf Deploy klicken und die .war-Datei auswählen
- Über http://localhost:8080/openapi bzw. http://localhost:8080/swagger Verfügbarkeit prüfen
- Konfiguration (optional)
- Estellen Sie eine Konfigurationsdatei für weitere Optionen.
Zusätzliche Instanzen können über das Deployen der Anwendung unter einem anderen Anwendungsnamen angelegt werden. Die zusätzlichen Instanzen können denselben Connection-Pool verwenden, oder einen anderen. Soll ein anderer Connection-Pool verwendet werden, ist eine Konfigurationsdatei notwendig.
Siehe auch:
Grundsätzlich kann SmartData mit jeder postgre-Datenbank verwendet werden, ohne das eine spezielle Konfiguration der Datenbank notwendig ist.
Soll mit Geodatentypen in der Datenbank gearbeitet werden, ist Folgendes zu beachten:
- Die postgis-Erweiterung muss im Schema "public" installiert werden
Die Datenbank kann um weitere Funktionen zur Information externer Anwendungen erweitert werden. Diese Erweiterungen sind optional. Dafür müssen die folgenden Skripte auf er Datenbank ausgeführt werden:
Hinweise:
- SCHEMANAME jeweils durch den Namen des Schemas austauschen
- Die Funktionen werden derzeit noch nicht durch SmartData genutzt, aber die OpenDataApp benötigt diese
CREATE OR REPLACE FUNCTION SCHEMANAME.datachanged()
RETURNS trigger
LANGUAGE plpgsql
AS $function$
BEGIN
PERFORM pg_notify('smartdata_datachanged', TG_TABLE_NAME);
RETURN NEW;
END;
$function$
;
CREATE OR REPLACE FUNCTION SCHEMANAME.deletetable()
RETURNS trigger
LANGUAGE plpgsql
AS $function$
BEGIN
PERFORM pg_notify('smartdata_tabledeleted', row_to_json(OLD)::text);
RETURN OLD;
END;
$function$
;
CREATE OR REPLACE FUNCTION SCHEMANAME.newtable()
RETURNS trigger
LANGUAGE plpgsql
AS $function$
BEGIN
PERFORM pg_notify('smartdata_tablecreated', row_to_json(NEW)::text);
RETURN NEW;
END;
$function$
;
CREATE OR REPLACE FUNCTION SCHEMANAME.updatetable()
RETURNS trigger
LANGUAGE plpgsql
AS $function$
BEGIN
PERFORM pg_notify('smartdata_tablechanged', row_to_json(NEW)::text);
RETURN NEW;
END;
$function$
;