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';