PostgreSQL: Unterschied zwischen den Versionen
Codica (Diskussion | Beiträge) |
Codica (Diskussion | Beiträge) |
||
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
- https://www.postgresql.org/docs/current/static/ddl-rowsecurity.html
- https://blog.2ndquadrant.com/application-users-vs-row-level-security/
REST-API mit Node.js und PostgreSQL
Siehe
- node-postgres-restapi
- http://mherman.org/blog/2016/03/13/designing-a-restful-api-with-node-and-postgres/
- Projektstrukturvorschlag bei Nutzung von PostgreSQL mit Node.js