2012-02-25 10 views
9

cerco di concedere i privilegi di simile:Postgres 9.1 CONCESSIONE non funziona

zielony=# GRANT ALL PRIVILEGES ON DATABASE baza_tag to strona_user; 
GRANT 

Ma nulla happends:

usename | usesysid | usecreatedb | usesuper | usecatupd | userepl | passwd | valuntil | useconfig 
-------------+----------+-------------+----------+-----------+---------+----------+----------+----------- 
postgres |  10 | t   | t  | t   | t  | ******** |   | 
zielony  | 16384 | t   | t  | t   | t  | ******** |   | 
strona_user | 16440 | f   | f  | f   | f  | ******** |   | 

Inoltre non ho alcun accesso via php. Cosa mi manca?

+0

Il sistema di privilegi di Postgres non assomiglia molto a quello di MySQL. Cosa ti aspetti che succeda dopo questa dichiarazione GRANT? Cosa provate a fare ma fallisce? –

+1

Mi piace questo: [link] (http://wiki.gentoo.org/wiki/PostgreSQL). Mi aspettavo di avere il permesso di selezionare, cancellare, usare le funzioni ecc. Su tutte le tabelle nel database. Quando provo a selezionare qualcosa mi urla: "Nessun permesso per farlo" – zie1ony

+0

Dovresti avere. Ma il tuo output non mostra le autorizzazioni di un utente rispetto ad un determinato database esistente ma se un utente può creare un nuovo database (per esempio). –

risposta

23

Il sistema di diritti Postgresql non funziona così. Dovrai impostare i diritti sugli oggetti stessi. Così:

GRANT ALL ON ALL TABLES IN SCHEMA public TO strona_user; 
GRANT ALL ON ALL SEQUENCES IN SCHEMA public TO strona_user; 
GRANT ALL ON ALL FUNCTIONS IN SCHEMA public TO strona_user; 
+0

Sto usando 8.4 e questo non funziona. Errore di flag sul secondo "ALL". – Brad

+4

Questo è effettivamente supportato solo su 9.0 o versioni successive. La domanda originale era per 9.1. 8.4 Non può farlo. È comunque possibile scrivere uno script che interroga le tabelle di sistema per vedere quali tabelle esistono ed esegue una query per ognuna di esse. – Eelke

+0

Quando il mio google-fu mi ha fallito questa risposta ha funzionato. Grazie! – engineerDave

Problemi correlati