PostgreSQL: Unterschied zwischen den Versionen

Aus CodicaTipps
Zur Navigation springen Zur Suche springen
Zeile 12: Zeile 12:
 
   CREATE USER BENUTZER WITH PASSWORD 'BENUTZERPASSWORT';
 
   CREATE USER BENUTZER WITH PASSWORD 'BENUTZERPASSWORT';
  
Ggf. muss man noch die Datei <code> /etc/postgresql/9.5/main/pg_hba.conf </code> so anpassen, dass auch eine Einwahl mit Passwort möglich ist. Denn normalerweise akzeptiert PostgreSQL nur die <code>peer</code>-Authentifizierungsmethode über den Linux-User.
 
  
Falls selbst diese Zeile fehlen sollte, muss eine Zeile wie die folgende eingefügt werden:
+
Normalerweise akzeptiert PostgreSQL nur die <code>peer</code>-Authentifizierungsmethode über den Linux-User. Falls selbst diese Berechtigung fehlen sollte, muss eine Zeile wie die folgende eingefügt werden:
 
   local sameuser USER peer  
 
   local sameuser USER peer  
 
USER sollte dem Namen des Linux-User entsprechen.
 
USER sollte dem Namen des Linux-User entsprechen.
 +
 +
Ggf. muss man noch die Datei <code> /etc/postgresql/9.5/main/pg_hba.conf </code> so anpassen, dass auch eine Einwahl mit Passwort möglich ist. Dazu ist eine Zeile wie die folgende einzutragen:
 +
  local MYDB MYPOSTGRESUSER password
  
 
In <code>$HOME/.pgpass</code> kann man zum Verzicht auf die Passworteingabe Zeilen nach dem folgenden Muster einfügen:<ref>https://www.postgresql.org/docs/11/static/libpq-pgpass.html</ref>
 
In <code>$HOME/.pgpass</code> kann man zum Verzicht auf die Passworteingabe Zeilen nach dem folgenden Muster einfügen:<ref>https://www.postgresql.org/docs/11/static/libpq-pgpass.html</ref>

Version vom 1. November 2018, 07:34 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

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