SuperX

KontaktMail für InfosSuchenLogin

Postgres-Nutzerkennungen mit Leserecht

Falls Sie für Testzwecke z.B. einen User "alex" anlegen wollen, der alle Tabellen einer DB lesen kann, geht dies mit Postgres so:

Zunächst müssen Sie in der pg_hba.conf sicherstellen, dass Passwort-Anmeldung über IP4 möglich ist:

# TYPE DATABASE       USER           ADDRESS                METHOD
host   all            all            -IP-Nummernkreis-    md5

Dann starten Sie Postgres neu oder führen einen RELOAD aus, z.B. unter Linux:

/etc/init.d/postgresql reload

Dann gehen Sie als Superuser auf den DB-Server, und führen Sie in der Ziel-Datenbank folgende SQLs aus:

CREATE USER alex WITH NOSUPERUSER PASSWORD 'password';
GRANT USAGE ON SCHEMA public TO alex;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO alex;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO alex;

Der letzte Befehl sorgt dafür, dass auch neue Tabellen Berechtigung erhalten.

Wenn Sie das Passwort später ändern wollen schreiben Sie

alter USER alex WITH PASSWORD 'anfang12';