Hallo
ich versuche mit einem Script einer Group Role auf allen Tabellen einer DB die Berechtigung setzen.
Mein erster Versuch mit einem Sub-select geht nicht ->
GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE (SELECT tablename FROM pg_tables where tablename not like 'pg_%') TO users_group;
Hatte jemand eine Idee wie das zu lösen ist?
Danke und Gruss
Ste
entweder du generierst dir ein script ..
z.B. mit dem select erstmal die objekte abfragen -> in ein textfile -> grant-statement davor basteln
oder du nutzt PG-Admin - da ist ein "GRANT Assistent" bei - der mehr oder minder hinreichend gut funktioniert.
ja so mach ich es bisher, wäre aber ein bisschen cooler wenn es automatisch ginge....
AndreasCode:17:14 < akretschmer> ??grantall 17:14 < rtfm_please> For information about grantall 17:14 < rtfm_please> see http://pgedit.com/public/sql/acl_admin/index.html 17:14 < rtfm_please> or http://unf.be/postgresql/postgres_grant_all.perl 17:14 < rtfm_please> or http://www.archonet.com/pgdocs/grant-all.html
--
https://www.xing.com/profile/Andreas_Kretschmer7ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
schön schön ..
Ich hab jetzt ein Script (abgändertes grantall.sh) das funktioniert. Falls jemand mal das gleiche benötigt:
###### start of fixperm.sh #######
#!/bin/bash
SQL="SELECT tablename FROM pg_tables where tablename not like 'pg_%' and tablename not like 'sql_%'"
OBJ=`psql -d DATABASE -t -c "${SQL}" $1`
OBJ=`echo ${OBJ} | sed 's/EOF//g'`
OBJ=`echo ${OBJ} | sed 's/ /, /g'`
SQL="GRANT SELECT, UPDATE, INSERT, DELETE ON ${OBJ} TO users_group;"
psql -d DATABASE -c "${SQL}" $1
###### end of fixperm.sh ######
Vielen Dank für die Hilfe
greetz
Ste
Links: Tobias Bauer - IT- und Funkdienstleistungen - Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen - Funkforum
Lesezeichen