PostgreSQL

From Limbas Wiki

Revision as of 12:03, 9 September 2019 by Axel Westhagen (talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

<-- zurück zur Hauptseite


PostgreSQL Installation für Limbas

Limbas unterstützt ISO sowie UTF8 Encodings. Limbas konvertiert die Datums und Zeitformate selbstständig und benötigt das Datumsformat "DD.MM.YYYY". Da PostgreSQL standardmäßig mit "Lokalisierung" installiert ist muss entweder das Datenbankcluster oder die Datenbank ohne Lokalisierung angelegt werden.

Datenbankcluster anlegen/erneuern

-postgres server stopen (root)

/etc/init.d/postgresql stop

-alten Cluster löschen:

Verzeichnisinhalt (cluster) von "/var/lib/pgsql/data" löschen (Bitte beachten: löscht schon vorhandene Datenbanken!)

- dann neuen Cluster ohne Lokalisierung anlegen:
Generell sollte auf die Lokalisierung aus Performancegründen verzichtet werden.
Bei Problemen mit Umlauten kann "NUR" der ctype entsprechend gesetzt werden. Außerdem erwartet Limbas das Datumsformat im Format JJJJ-MM-DD

su - postgres
initdb --local=C
[ initdb --local=C --lc-ctype=de_DE ]
exit


Server starten (root)

systemctl start postgresql.service

Datenbank anlegen

Ohne Lokalisierung. Mögliche Kodierungen sind z.B. LATIN1 oder SQL_ASCII oder UTF8

# su - postgres
# psql
# create user limbasuser password 'limbaspass';
# create database limbas WITH ENCODING 'SQL_ASCII' LC_COLLATE 'C' LC_CTYPE 'C' OWNER limbasuser TEMPLATE template0;
# \q
# createlang plpgsql limbas

Unix ODBC einrichten

Die Datenbankverbindung über ODBC ist notwendig wenn nicht PostgreSQL oder MYSQL als Datenbank genutzt werden oder die PDO Schnittstelle nicht zur Verfügung steht. Das Einrichten von ODBC ist aufwändiger und umfasst neben der Installation der notwendigen Packete auch das Einrichten von UnixODB und der Datenbank ODBC Treiber. unixODBC

allgemeine Tools

Übersicht aller Datenbanken

psql -l

Nutzer anlegen

createuser benutzername

oder per SQL Befehl: create user benutzername password 'geheim'

Nutzer löschen

dropuser benutzername

oder per SQL Befehl: DROP USER name;

Datenbank mit Besitzer per Konsole anlegen

su - postgres
createdb -O benutzername limbas

Datenbank löschen

su - postgres
dropdb dbname

plpgsql languge hinzufügen

createlang plpgsql limbas

Server neu starten

pg_ctl reload


To dump a database:

$ pg_dump mydb > db.out

To reload this database:

$ psql -d database -f db.out

To dump a database called mydb that contains large objects to a tar file:

$ pg_dump -Ft -b mydb > db.tar

To reload this database (with large objects) to an existing database called newdb:

$ pg_restore -d newdb db.tar