Vous n'êtes pas identifié(e).
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
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
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
et comment ce fait la mise à jour des items ?
Cordialement,
Sébastien.
Hors ligne
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
ok mais par quel biais sont envoyées les commandes ?
Cordialement,
Sébastien.
Hors ligne
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
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
Aucune idée de mon côté, ne travaillant jamais avec des shapes.
Guillaume.
Hors ligne
Bonjour,
Difficile à dire.
A part un trigger (ou plusieurs) qui met à jour une table d'historique ?
Cordialement,
Sébastien.
Hors ligne
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
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
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
désolé mais je ne sais pas du tout ce que c'est "shp".
Bon courage.
Cordialement,
Sébastien.
Hors ligne
Merci.
Shp = format shape de Esri arcmap.
Hors ligne