PostgreSQL

Wechseln zu: Navigation, Suche
PostgreSQL ist ein freies, objektrelationales Datenbankmanagementsystem (ORDBMS) und nennt sich selbst "The world's most advanced open source database". Es existieren Schnittstellen zu vielen Skript- und Programmiersprachen. PostgreSQL setzt sehr umfassend den SQL-Standard 2008 um und kann neben den gängigen Datentypen auch nativ mit XML und ab Version 9.2 auch mit Daten im JSON-Format umgehen.
Getestet mit openSUSE Empfohlene Artikel Verwandte Artikel
Icon-checked.png

Icon-manual.png Icon-help.png
PostgreSQL

Datenbankverwaltungssystem

Download für openSUSE:


Hersteller: PostgreSQL-Team

Lizenz: PostgreSQL Lizenz, vergleichbar mit BSD-Lizenz
Webseite: Projektseite


Installation

Installiere das Packet postgresql für den Client und postgresql-server für den Server.
sudo zypper in postgresql postgresql-server
Starte den Server:
sudo systemctl start postgresql

PostgreSQL wird unter openSUSE vom Systembenutzer postgres verwaltet, der alle Rechte hat, um z.B. Datenbanken oder auch Datenbankbenutzer anzulegen. Man muss dabei beachten, dass Datenbankbenutzer und Systembenutzer normalerweise in keinem Zusammenhang stehen.

Zuerst gibt man dem Datenbankbenutzer postgres ein Passwort:
sudo passwd postgres
Um die Umgebung von PostgreSQL (erkennbar an postgres=#) zu starten gibt man den folgenden Befehl ein:
sudo -u postgres psql
Um die Postgre-Umgebung wieder zu verlassen, einfach
\q
eingeben.

Datenbankbenutzer anlegen oder löschen

Da der Nutzer postgres für die Datenbankadministration vorgesehen ist, sollte man für Datenbanken eine extra Nutzer anlegen. Mit dem Schalter -P wird ein Passwort für den neuen Nutzer verlangt, mit -d darf er Datenbanken anlegen:
sudo -u postgres createuser -P -d NUTZERNAME

Um den Nutzer wieder zu löschen gibt man folgenden Befehl ein:

sudo -u postgres dropuser NUTZERNAME


Datenbanken anlegen oder löschen

Für jede Anwendung ist eine eigene Datenbank erforderlich. Die kann im Terminal mit folgendem Befehl angelegt werden:
sudo -u postgres createdb -O NUTZERNAME DATENBANK
Die Datenbank kann mit folgendem Befehl wieder gelöscht werden:
sudo -u postgres dropdb DATENBANK

Anwendung

Um mit dem PostgreSQL Datenbankserver zu interagieren und SQL-Statements einzugeben, wechselt man in die Umgebung von PostgreSQL (erkennbar an postgres=#). Dazu erstellt man zuerst einen Nutzer und anschließend eine Datenbank für den Nutzer z.B.:

sudo -u postgres createuser -P -d testu
sudo -u postgres createdb -O testu testdb
Anschließend verbinden wir uns mit der neuen Datenbank:
sudo -u postgres psql testdb
Jetzt kann man eine Tabelle in der Datenbank anlegen:
CREATE TABLE books ( id int, name varchar(80), publisher varchar(80), date_published date );
Die Liste der Relationen kann man sich anzeigen lassen:
testdb=# \dt
         Liste der Relationen
 Schema | Name  |   Typ   | Eigentümer 
--------+-------+---------+------------
 public | books | Tabelle | postgres

Mit INSERT fügt man Daten in die Tabelle ein:

INSERT INTO books VALUES ('1', 'Reference openSUSE Leap 15.1', 'SUSE LLC', '2019-05-25');

Die Tabellenstruktur liest man mit:

\d books
                               Tabelle »public.books«
     Spalte     |          Typ          | Sortierfolge | NULL erlaubt? | Vor
gabewert 
----------------+-----------------------+--------------+---------------+----
---------
 id             | integer               |              |               | 
 name           | character varying(80) |              |               | 
 publisher      | character varying(80) |              |               | 
 date_published | date                  |              |               | 
Ob der Eintrag der Daten in die Tabelle geklappt hat, zeigt das SELECT-Statement:
SELECT * FROM books;
 id |             name             | publisher | date_published 
----+------------------------------+-----------+----------------
  1 | Reference openSUSE Leap 15.1 | SUSE LLC  | 2019-05-25

Weitere Informationen erhält man in der Dokumentation von PostgreSQL.

Externe Links