PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 16/09/2015 14:06:31

csv
Membre

versionnement - mémorisation des modifications des données

Bonjour
Après avoir jeté un coup d'oeil dans ce forum et d'autres pages consacrées aux fonctions postgresql, je ne suis pas certain d'avoir trouvé solution à mon problème.
Il est facile à poser, peut-être moins à résoudre...
Si quelqu'un pouvait me guider, ça serait vraiment sympa. Voici de quoi il s'agit.

Tout d'abord, il est bon de savoir que je suis un débutant, venu au bases de données par un besoin de gestion lié à la cartographie dynamique. (D'où postgresql + postgis.)

Mon besoin est le suivant : mes clients me fournissent des données géocodées, avec des mises à jour régulières. J'ai besoin d'updater mes tables à chaque envoi, mais en sachant ce qui se passe : quelles entités ont été créées, supprimées ou modifiées.
J'ai vu plusieurs méthodes pour y parvenir (audit trigger, E.maj, tablelog), mais toutes me semblaient procéder suite à des modifs manuelles dans les tables ; or, concernant mon problème, les tables sont intégralement mises à jour (données toutes remplacées, y compris les contenus demeurant identiques).

Les solutions mentionnées vous paraissent-elles appropriées, malgré mon sentiment ?
Y-a-t-il une meilleure solution ?

Merci beaucoup de votre aide !

Cyril

Hors ligne

#2 16/09/2015 14:27:28

ruizsebastien
Membre

Re : versionnement - mémorisation des modifications des données

Bonjour,

Vous pouvez toujours créer une table pour le versionnement et à chaque fois qu'une table est mise à jour "complètement" vous mettez à jour la ligne correspondante dans la table de versionnement.
Une table avec 3 colonnes minimum : nom_table, version, date_maj.
Ensuite on ne sait pas comment vous faite l'update de vos données ? Est-ce un script ? Si oui, alors il suffit d'y glisser une commande sql pour alimenter comme vous voulez cette table de verisonnement.

Cordialement.


Cordialement,

Sébastien.

Hors ligne

#3 16/09/2015 14:43:56

csv
Membre

Re : versionnement - mémorisation des modifications des données

Merci.
En fait j'aurais besoin de quelque chose de plus précis : les suppressions, créations ou modifs de chaque item des tables. Il ne s'agit pas de conserver en mémoire la date de chaque mise à jour mais toutes les modifs effectuées à cette occasion (à noter que l'ID unique ne varie pas...)
Il n'y a pas de script pour la mise à jour mais l'idée est bonne. C'est envisageable.
Cordialement

Hors ligne

#4 16/09/2015 15:49:09

ruizsebastien
Membre

Re : versionnement - mémorisation des modifications des données

et comment ce fait la mise à jour des items ?


Cordialement,

Sébastien.

Hors ligne

#5 16/09/2015 16:14:18

csv
Membre

Re : versionnement - mémorisation des modifications des données

A priori INSERT INTO et SELECT. Je n'ai pas eu à faire l'opération depuis quelques mois. Je suis dans la recherche d'une solution parce que je migre de Qgis vers Arcgis pour traiter graphiquement les données.

Hors ligne

#6 16/09/2015 16:53:53

ruizsebastien
Membre

Re : versionnement - mémorisation des modifications des données

ok mais par quel biais sont envoyées les commandes ?


Cordialement,

Sébastien.

Hors ligne

#7 16/09/2015 17:22:49

csv
Membre

Re : versionnement - mémorisation des modifications des données

Je passe par PGadmin (si je comprends bien votre question, ce dont je ne suis pas certain).
En fait, je suis à la recherche d'une solution qui me permette de gérer les modifs de tables au format SHP, à priori via l'outil d'import de PGadmin.
Cependant, si une autre solution existe, je suis preneur !
Merci encore.
Cyril

Hors ligne

#8 18/09/2015 10:05:52

csv
Membre

Re : versionnement - mémorisation des modifications des données

Mes réponses n'étaient pas assez claires pour être comprises ?
Je vais tenter de mieux préciser :
- mon client m'envoie des shp, mettons bi-annuellement
- je les importe dans postgresql postgis via pgadmin (l'outil d'import shp)
- ensuite je crée des chartes graphiques, habillage, titrage, etc. dans arcmap
La question est : comment faire en sorte, lors d'une mise à jour des données, pour que lors de l'import (ou après) un versionnement soit possible (c'est à dire une visualisation des modifications de champ, suppression ou création d'entités) ?
Cela parait-il possible ?
Merci encore.
Cyril

Hors ligne

#9 18/09/2015 23:16:14

gleu
Administrateur

Re : versionnement - mémorisation des modifications des données

Aucune idée de mon côté, ne travaillant jamais avec des shapes.


Guillaume.

Hors ligne

#10 21/09/2015 09:40:15

ruizsebastien
Membre

Re : versionnement - mémorisation des modifications des données

Bonjour,

Difficile à dire.
A part un trigger (ou plusieurs) qui met à jour une table d'historique ?


Cordialement,

Sébastien.

Hors ligne

#11 21/09/2015 10:00:36

csv
Membre

Re : versionnement - mémorisation des modifications des données

Bonjour

Oui, la solution trigger est une piste qui me parait bonne ; mais dans le détail, je suis un peu comme une poule devant un couteau...
D'autant qu'en regardant les solutions créées dans des outils complexes comme audit trigger, E.maj ou tablelog, je me demande si je saurai mettre en place quelque chose qui fonctionne...

Si vous avez une idée, adaptée à mon niveau... Merci !

Cyril

Hors ligne

#12 21/09/2015 10:12:37

ruizsebastien
Membre

Re : versionnement - mémorisation des modifications des données

Mais votre niveau ne va pas cessé d'augmenter, alors courage, les mains dans le cambouis et un coup d'oeil dans la documentation :
http://docs.postgresql.fr/9.4/sql-createtrigger.html

Bonne lecture.
Quand vous aurez avancé on pourrait vous donner un coup de main, mais on ne fera le travail à votre place ;-)

Cordialement.


Cordialement,

Sébastien.

Hors ligne

#13 21/09/2015 11:09:49

csv
Membre

Re : versionnement - mémorisation des modifications des données

Bien sûr, je comprends ça.
En fait c'est plutôt une question de méthode : j'ai testé l'outil audit trigger dans une base. Mais je en suis pas très sûr de mon coup.
Ce qui me laisse songeur, c'est le mode d'import (via shp)...
Cela dit, si la méthode vous parait bonne, il n'y a plus qu'à commencer des tests, en effet !
Merci !

Cyril

Hors ligne

#14 21/09/2015 11:12:16

ruizsebastien
Membre

Re : versionnement - mémorisation des modifications des données

désolé mais je ne sais pas du tout ce que c'est "shp".
Bon courage.


Cordialement,

Sébastien.

Hors ligne

#15 21/09/2015 11:56:45

csv
Membre

Re : versionnement - mémorisation des modifications des données

Merci.
Shp = format shape de Esri arcmap.

Hors ligne

Pied de page des forums