Newsgroup: it.comp.software.database
Titolo: proprietà viste su postgres

Ciao a tutti ho una domanda:
ho creato delle viste in uno schema, diverso da public, in postgres;
altri utenti, membri del mio stesso gruppo che ha diritto di lettura e
scrittura sullo schema dovrebbero poterle visualizzare e modificare,
riescono a leggerle ma se le devono modificare compare un messaggio di
errore che dice che bisogna essere proprietari della vista per
modificarla... non è stato sufficiente fare un GRANT ALL ne sul
gruppo, ne sui singoli utenti...
tutto ciò è normale e mi devo rassegnare o c'è qualcosa che non va?
grazie a tutti :-)

 ho creato delle viste in uno schema, diverso da public, in postgres;
questo e' il punto, hai verificato le impostazione dello schema da te
creato?
la struttura va' intesa: server, cluster, database, schema, oggetto
in questa successione, dunque a mio parere, ma potrei errare visto che non
hai specificato molto, devi agire sulle proprieta' di accesso dello schema
da te creato e poi anche sulle proprieta' d'accesso degli utenti e/o gruppi
spero d'esser stato d'aiuto, sarebbe gradito feedback
saluti
-- 
Gianluca

...In realtà lo schema non l'ho creato io, io sono un utente NON
privilegiato (utente1) che ha accesso in lettura e scrittura al db e
allo schema in questione, e come tale posso interrogare il db e creare
viste, il problema è che vorrei che gli altri utenti(es quello che
quì chiamo utente2) del mio gruppo (gruppo1) fossero in grado di
visualizzarle (e ci riescono) ma anche di modificarle (e quì mi dice
che solo il proprietario può farlo ed il proprietario sono io che l'ho
creata).
In ogni caso le proprietà e i permessi di db, schema e vista sono i
seguenti:
CREATE DATABASE dbuno
  WITH OWNER = postgres
       ENCODING = 'LATIN9';
GRANT TEMPORARY ON DATABASE dbuno TO public;
GRANT ALL ON DATABASE dbuno TO postgres WITH GRANT OPTION;
GRANT ALL ON DATABASE dbuno TO GROUP "master";
CREATE SCHEMA schema1
  AUTHORIZATION postgres;
GRANT ALL ON SCHEMA schema1 TO postgres WITH GRANT OPTION;
GRANT ALL ON SCHEMA schema1 TO GROUP "gruppo1";
GRANT ALL ON SCHEMA schema1 TO GROUP "master";
CREATE OR REPLACE VIEW schema1.vista_uno AS  etc.etc.
...
ALTER TABLE schema1.vista_uno OWNER TO utente1;
GRANT ALL ON TABLE schema1.vista_uno TO utente1 WITH GRANT OPTION;
GRANT ALL ON TABLE schema1.vista_uno TO GROUP "gruppo1";
GRANT ALL ON TABLE schema1.vista_uno TO utente2;
(anche se secondo me non dovrebbe essere necessaria quest'ultima riga,
è stato solo un tentativo ma inutile)
dove "master" è il gruppo degli utenti privilegiati e "gruppo1" è
quello degli utenti normali che poi sono: "utente1" e "utente2"
andando più nello specifico, riguardo alla vista i permessi sono:
 Schema | Tabella |                             Privilegi di accesso
--------+---------+-------------------------------------------------------------------------------
 schema1  |vista_uno | {utente1=a*r*w*d*R*x*t*/utente1,"group
gruppo1=arwdRxt/utente1",utente2=arwdRxt/utente1}
spero di averti dato indicazioni un po' più utili per capire cosa ho
combinato...
intanto grazie

 intanto grazie
prego :-)
saluti
-- 
Gianluca

 > CREATE DATABASE dbuno
dall'amministraotre del db, tranne quelli sulla view :
 GRANT ALL ON TABLE schema1.vista_uno TO utente1 WITH GRANT OPTION;
GRANT ALL ON TABLE schema1.vista_uno TO GROUP "gruppo1";
GRANT ALL ON TABLE schema1.vista_uno TO utente2;
che li ho inseriti io che ho creato la vista
...
cosa te ne sembra (a parte un gran casino? )

 cosa te ne sembra (a parte un gran casino? )
gran casino non direi, il DB in cui operi segue delle regole di
configurazione determinate dal lavoro dell'amministratore
a mio parere si deve indagare sulle proprieta' dello schema in questione e
non sull'oggetto...ma
credo sia il caso che tu ne parli con lui, e' inutile saltarlo ed andare in
un NG a chiedere 'consigli', non fai altro che complicarti ulteriormente la
vita
ciao
-- 
Gianluca

 vita
la storia è un po' complicata, diciamo solo che ultimamente non è
molto reperibile comunque se non altro mi hai chiarito che non è un
problema 'a valle' dello schema ma 'a monte'
intanto grazie
ciaociao
:-)