PostgreSQL: Unterschied zwischen den Versionen

Aus CodicaTipps
Zur Navigation springen Zur Suche springen
Zeile 27: Zeile 27:
 
Man MUSS den Zugriff auf .pgpass einschränken:
 
Man MUSS den Zugriff auf .pgpass einschränken:
 
   chmod 0600 ~/.pgpass
 
   chmod 0600 ~/.pgpass
 +
 +
=== Postgres-Version ===
 +
 +
Um im <code>psql</code>-Client oder in anderen SQL-Verbindungen die Version des Servers auszugeben, verwendet man:
 +
 +
  SELECT version();
  
 
== Zeilenbasierte Zugriffsrechte ==
 
== Zeilenbasierte Zugriffsrechte ==

Version vom 14. Juli 2019, 05:00 Uhr

PostgreSQL ist eine weit verbreitete feature-reiche SQL-Datenbank, einigermaßen vergleichbar mit MySQL.

Installation und Konfiguration

Die Debian-Pakete sehen getrennte Konfigurations- und Datenverzeichnisse vor. Siehe https://wiki.debian.org/PostgreSql .

User anlegen

Man wählt sich als User postgres in seine Datenbank DATABASE ein:

 sudo -u postgres psql DATABASE

Dann erzeugt man den Nutzer BENUTZER mit folgender Anweisung:

 CREATE USER BENUTZER WITH PASSWORD 'BENUTZERPASSWORT';


Normalerweise akzeptiert PostgreSQL nur die peer-Authentifizierungsmethode über den Linux-User. Falls selbst diese Berechtigung fehlen sollte, muss eine Zeile wie die folgende eingefügt werden:

 local sameuser USER peer 

USER sollte dem Namen des Linux-User entsprechen.

Ggf. muss man noch die Datei /etc/postgresql/9.5/main/pg_hba.conf so anpassen, dass auch eine Einwahl mit Passwort möglich ist. Dazu ist eine Zeile wie die folgende einzutragen:

 local MYDB MYPOSTGRESUSER password

In $HOME/.pgpass kann man zum Verzicht auf die Passworteingabe Zeilen nach dem folgenden Muster einfügen:[1]

 hostname:port:database:username:password

Beispiel

 localhost:*:MYDB:MYPOSTGRESUSER:PASS

Man MUSS den Zugriff auf .pgpass einschränken:

 chmod 0600 ~/.pgpass

Postgres-Version

Um im psql-Client oder in anderen SQL-Verbindungen die Version des Servers auszugeben, verwendet man:

 SELECT version();

Zeilenbasierte Zugriffsrechte

Row-Level-Security gibt es seit PostgreSQL 9.5. Es ermöglicht Zugriffsrechte auf bestimmte Zeilen für den jeweiligen Nutzer einzuschränken.

Siehe

REST-API mit Node.js und PostgreSQL

Siehe

Fensterfunktionen in PostgresSQL

Mit sogenannten Fensterfunktionen oder Window Functions können sehr viele Operationen in der Datenbank abgebildet werden, die sonst der Client mit üblicherweise hohem Aufwand programmatisch durchführen musste.

Siehe