PostgreSQL: Unterschied zwischen den Versionen

Aus CodicaTipps
Zur Navigation springen Zur Suche springen
Zeile 17: Zeile 17:
 
   local sameuser USER peer  
 
   local sameuser USER peer  
 
USER sollte dem Namen des Linux-User entsprechen.
 
USER sollte dem Namen des Linux-User entsprechen.
 +
 +
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>
 +
  hostname:port:database:username:password
 +
Beispiel
 +
  localhost:*:MYDB:MYPOSTGRESUSER:PASS
 +
 +
Man MUSS den Zugriff auf .pgpass einschränken:
 +
  chmod 0600 ~/.pgpass
  
 
== Zeilenbasierte Zugriffsrechte ==
 
== Zeilenbasierte Zugriffsrechte ==

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

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. Denn normalerweise akzeptiert PostgreSQL nur die peer-Authentifizierungsmethode über den Linux-User.

Falls selbst diese Zeile fehlen sollte, muss eine Zeile wie die folgende eingefügt werden:

 local sameuser USER peer 

USER sollte dem Namen des Linux-User entsprechen.

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