Linux.postgresql

Aus OrgaMon Wiki
Zur Navigation springen Zur Suche springen

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
#
# Passwort setzen Alternative 1/2
#
passwd postgres
#
# Passwort setzen Alternative 2/2
#
<unsicher>
pgsql -u postgres
>alter ...

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();
#
# Tabelle mit Daten füllen
#
insert into MWST (RID,SATZ,NAME) VALUES (0,16,'SATZ1');

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.