storicizzazione delle modifiche in postgres/postgis

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

storicizzazione delle modifiche in postgres/postgis

emanuele masiero
buongiorno!

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 

grazie!
emanuele masiero
padova

_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
518 iscritti al 3.6.2011
Reply | Threaded
Open this post in threaded view
|

Re: storicizzazione delle modifiche in postgres/postgis

amefad



2011/6/25 emanuele masiero <[hidden email]>
buongiorno!

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:

http://stackoverflow.com/questions/1295795/how-can-i-use-a-postgres-triggers-to-store-changes
http://www.postgresql.org/docs/8.4/static/plpgsql-trigger.html

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.

Amedeo Fadini

_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
518 iscritti al 3.6.2011
Reply | Threaded
Open this post in threaded view
|

Re: storicizzazione delle modifiche in postgres/postgis

emanuele masiero
grazie amedeo!!
quindi la parola "magica" è trigger!!  :-)
ti farò sapere cosa conbino....
Emanuele Masiero 



_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
518 iscritti al 3.6.2011
Reply | Threaded
Open this post in threaded view
|

Re: storicizzazione delle modifiche in postgres/postgis

Maurizio Napolitano-2
In reply to this post by amefad
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

Fammi sapere :)
_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
518 iscritti al 3.6.2011
Reply | Threaded
Open this post in threaded view
|

Re: storicizzazione delle modifiche in postgres/postgis

pcav
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
_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
518 iscritti al 3.6.2011
Reply | Threaded
Open this post in threaded view
|

Re: storicizzazione delle modifiche in postgres/postgis

emanuele masiero
In reply to this post by emanuele masiero

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.


grazie Paolo!
non li conoscevo...
li proverò

emanuele masiero
padova


_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
518 iscritti al 3.6.2011