PostgreSQL
Getestet mit openSUSE | Empfohlene Artikel | Verwandte Artikel | |||
|
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-serverStarte 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 postgresUm die Umgebung von PostgreSQL (erkennbar an postgres=#) zu starten gibt man den folgenden Befehl ein:
sudo -u postgres psqlUm die Postgre-Umgebung wieder zu verlassen, einfach
\qeingeben.
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 DATENBANKDie 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 testdbAnschließend verbinden wir uns mit der neuen Datenbank:
sudo -u postgres psql testdbJetzt 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.