-
Notifications
You must be signed in to change notification settings - Fork 2
Administration_Installation
- Postgres-Datenbankserver (ab Version 11.x)
- Java17
- Payara WebServer (Version 6.x)
- Mind. 20 MB Speicherplatz (Anwendung)
- 1 GB RAM
- 900 MHz
- Datenbank anlegen
- Datenbanknutzer anlegen (Sichern Sie jede Datenbank mit einem eigenen Benutzer und Passwort. SmartData akzeptiert keine default und root Datenbanknutzer)
- 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 (z.B. SmartData)
- 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
- Prüfen Sie über http://localhost:8080/SmartData die Verfügbarkeit, unter dem Abschnitt "Tabellen" sehen Sie, welche Tabellen die API erkennt.
- Konfiguration (optional)
- Erstellen Sie eine Konfigurationsdatei für weitere Optionen.
Prüfe, ob die Tabellen die erforderlichen Berechtigungen haben. Der Datenbankbenutzer, der in der JDBC Resource eingestellt ist, muss Zugriffsrechte auf die Tabellen und ggf. übergeordnete Elemente wie Schemata besitzen.
Schreibe eine Mail an florian.fehring@hsbi.de, um weitere Hilfe zu bekommen.
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 dass 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$
;