Linux.postgresql: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Zeile 44: | Zeile 44: | ||
# | # | ||
create sequence ARTIKEL_GID; | create sequence ARTIKEL_GID; | ||
# | # | ||
# Einen Datentyp erstellen | # Einen Datentyp erstellen | ||
Zeile 71: | Zeile 71: | ||
BEGIN | BEGIN | ||
IF ((NEW.RID is NULL) OR (NEW.RID<1)) THEN | IF ((NEW.RID is NULL) OR (NEW.RID<1)) THEN | ||
NEW.RID = | NEW.RID = nextval('GLOBAL_GID'); | ||
END IF; | END IF; | ||
RETURN NEW; | RETURN NEW; |
Version vom 15. März 2022, 12:22 Uhr
mit der Version 9.2 wird PostgreSQL den Funktionsumfang von FirebirdSQL wohl übersteigen. Ich denke über eine Migration der OrgaMon Datenhaltung zu PostgreSQL nach.
Installation
Benötigte Pakete
#zypper install postgresql94-server postgresql94-docs pgadmin3 # systemctl enable postgresql # systemctl start postgresql apt install postgresql-all
Netzwerk freischalten
joe /etc/postgresql/13/main/pg_hba.conf
# # für das Netzwerk hinzu das zugreifen darf # host all all 192.168.115.0/24 trust
Interface freischalten
joe /etc/postgresql/13/main/postgresql.conf # # # listen_addresses = 'localhost,192.168.115.28' # what IP address(es) to listen on; # # Dienst neu starten # systemctl restart postgresql
SQL - Statements
# # Einen "generator" erstellen # create sequence ARTIKEL_GID;
# # Einen Datentyp erstellen # create domain DOM_REFERENCE as bigint;
# # Tabelle erstellen # CREATE TABLE MWST ( RID DOM_REFERENCE NOT NULL, VON_DATUM TIMESTAMP, BIS_DATUM TIMESTAMP, SATZ DOUBLE PRECISION NOT NULL, NAME VARCHAR(45), SYNC SMALLINT DEFAULT 1 ); # # Trigger erstellen 1/2 # CREATE OR REPLACE FUNCTION fu_mwst_insert() RETURNS TRIGGER LANGUAGE PLPGSQL AS $$ BEGIN IF ((NEW.RID is NULL) OR (NEW.RID<1)) THEN NEW.RID = nextval('GLOBAL_GID'); END IF; RETURN NEW; END; $$ ;
# # Trigger erstellen 2/2 # CREATE TRIGGER MWST_TRI BEFORE INSERT ON MWST EXECUTE FUNCTION fu_mwst_insert();
http://www.postgresql.org/
http://www.pgadmin.org/
Die Tabellen einer Datenbank findest du in
Schemata public Tabellen
erste Schritte
su postgres $ create user orgamon1 with password 'OrgaMon1'; $ create database orgamon1; $ grant all on DATABASE orgamon1 to orgamon1;
Administration
über phpPgAdmin
Migration der Datenbank
- erst mit der Metadaten-Datei des OrgaMon eine UTF8-Datenbank erstellen
- mit einem selbst erstellten 'cp' Util erst alle Rohdaten mit 'insert', dann alle Referenzen per 'update'
Zugriff mit OrgaMon Desktop
über Zeos
Laden der Client Bibliothek unter Windows
- Den Pfad auf C:\Program Files(x86)\PostgreSQL\9.1\bin zu setzen brauchte keinen Erfolg.
- Den .exe zunächst mal in PostgreSQL\bin speichern, alle anderen Referenzen mussten durch den Developer-Install befriedigt werden
- Die Referenzen lauten im Einzelnen:
* LIBPQ.dll. * SSLEAY32.dll. * LIBEAY32.dll. ? WS2_32.dll. ? NSI.dll. R MSVCR90.dll. * libintl-8.dll. * libiconv-2.dll. ? WSOCK32.dll. ? MSWSOCK.dll. ? WSHTCPIP.dll. ? WSHIP6.dll. ? DNSAPI.dll. ? WLIDNSP.dll. ? IPHLPAPI.DLL. ? WINNSI.DLL. ? rasadhlp.dll. ? fwpuclnt.dll.