Home > Server > Creare uno user di tipo read-only in un database postgresql

Creare uno user di tipo read-only in un database postgresql

I seguenti comandi sono da utilizzare in psql oppure via pgadmin3

su postgres
 
psql

Creiamo l’utente ospite

CREATE ROLE ospite LOGIN PASSWORD 'ospitepassword';

connettiamoci al database mydb

 # \c mydb

Consentiamo a ospite la connessione al database mydb

GRANT CONNECT ON DATABASE mydb TO ospite;

Consentiamo a ospite l’accesso alla tabella mytable

GRANT SELECT ON mytable TO ospite;

per revocare il permesso: REVOKE SELECT ON mytable TO ospite;

Per consentire a ospite l’accesso a tutte le tabelle del database in postgresql 8.4 possiamo usare il seguente elenco di comandi.

SELECT 'GRANT SELECT ON ' || relname || ' TO ospite;'
FROM pg_class JOIN pg_namespace ON pg_namespace.oid = pg_class.relnamespace
WHERE nspname = 'public' AND relkind IN ('r', 'v')

aggiungiamo il ; o \q per lanciare la query quindi possiamo ad esempio fare un taglia/incolla di tutto l’elenco
sul promt e vedremo via via grant applicato a tutte le tabelle .

Consentiamo a ospite l’accesso a tutte le tabelle del database in postgresql 9.0 e successivi

 GRANT SELECT ON ALL TABLES IN SCHEMA public TO ospite;

Rimane il problema delle nuove tabelle che si creeranno in postgres 9.0 e successivi e possibile utilizzare

 ALTER DEFAULT PRIVILEGES IN SCHEMA public   GRANT SELECT ON TABLES TO ospite;

Risorse:

Postgresql 

Plpgsql 

Creare eliminare database e tabelle

Advertisements
Categorie:Server Tag:,
  1. Non c'è ancora nessun commento.
  1. No trackbacks yet.

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: