vorrei utilizzare Qgis per aggiornare dei layer postgis
e memorizzare lo storico degli aggiornamenti fatti dai vari utenti
in modo da tenere traccia di chi ha modificato la singola riga della tabella
è possibile farlo in maniera trasparente direttamente da postgres?
mi immagino che, prima di salvare la nuova modifca, postgres potrebbe fare una copia della riga originale in una tabella “storica” e memorizzare data e utente dell’aggiornamento
chiedo se postgres ha già delle funzioni di questo tipo, che basta attivare nella tabella da monitorare
vorrei utilizzare Qgis per aggiornare dei layer postgis
e memorizzare lo storico degli aggiornamenti fatti dai vari utenti
in modo da tenere traccia di chi ha modificato la singola riga della tabella
è possibile farlo in maniera trasparente direttamente da postgres?
Ciao, sicuramente non è molto difficile creare un trigger di audit:
Io l’ho testato con altro DBMS, in sostanza devi creare un trigger che si attiva su insert delete e update e memorizza in una tabella di “log” il nome utente, l’applicazione client, data e ora, campo modificato, valore vecchio e valore nuovo.
Il trigger va creato per ogni tabella da monitorare (si può preaparare uno script) mentre la tabella di log può essere unica. Ricordati di fare entrare ogni utente con un nome univoco, es. non tutto con “postgres” altrimenti forse puoi loggare l’ip del computer.
Interessa metterlo su anche a me in studio, ma non ho ancora centralizzato tutta l’informazione geografica in postgis.
mai usato ma per postgresql c'è il modulo time travel http://www.postgresql.org/docs/8.3/static/contrib-spi.html#AEN104295
Detta in maniera ingenua:
compili il modulo e estendi le funzioni di pgsql (proprio come con
postgis)
quando crei una tabella crei due campi in piu'
... e poi usi le magie di time travel
Il 26/06/2011 22:56, Maurizio Napolitano ha scritto:
mai usato ma per postgresql c'è il modulo time travel http://www.postgresql.org/docs/8.3/static/contrib-spi.html#AEN104295
Detta in maniera ingenua:
compili il modulo e estendi le funzioni di pgsql (proprio come con
postgis)
quando crei una tabella crei due campi in piu'
... e poi usi le magie di time travel
Forse dico una cosa ovvia, ma in QGIS ci sono due plugins per questo: PostGIS Manager
e PgVersion. Ovviamente fanno due cose diverse: il primo storicizza, il secondo
aggiunge le versioni.
Fateci sapere i risultati degli esperimenti, per piacere, e se lo ritenete utile
scrivete una guida.
Saluti.
--
Paolo Cavallini: http://www.faunalia.it/pc