Pages: 1
- Sujet précédent - Remplacer une table liée à des vues dans PostgreSQL/PostGIS - Sujet suivant
#1 Thu 17 October 2019 07:21
- YasmineB
- Participant occasionnel
- Date d'inscription: 20 Dec 2017
- Messages: 19
Remplacer une table liée à des vues dans PostgreSQL/PostGIS
Bonjour à tous,
Je commence à créer des vues à partir de mes tables sur PostgreSQL, néanmoins je rencontre une difficulté.
Je mets à jour régulièrement mes tables PostgreSQL à partir de données .TAB (Mapinfo) en les important via le DB Manager de QGIS en cochant "Remplacer la table de destination si existante".
Maintenant que mes vues sont créées à partir de mes tables PostgreSQL, j'ai un message d'erreur lors de leur mise à jour via QGIS avec le .TAB selon lequel des liens de dépendance empêchent d'effectuer la manipulation.
Comment puis-je remplacer une table PostgreSQL pour la mettre à jour si des vues en sont dépendantes ? Sinon, comment mettre à jour une table PostgreSQL avec un fichier .TAB ?
En espérant avoir clairement exposé mes difficultés, je vous remercie d'avance pour votre aide!
Dernière modification par YasmineB (Thu 17 October 2019 10:13)
Hors ligne
#2 Thu 17 October 2019 11:23
- tumasgiu
- Membre
- Lieu: Ajaccio
- Date d'inscription: 5 Jul 2010
- Messages: 1143
Re: Remplacer une table liée à des vues dans PostgreSQL/PostGIS
Salut,
je vois dans l'immédiat deux solutions :
1)
A condition que les champs de votre table
ne varient pas d'un import à l'autre :
Tronquer la table avec truncate, et utillisez
ogr2ogr pour réimporter vos données dans votre table
sans créer la structure de la table.
2)
Si c'est possible, créez une FOREIGN TABLE ogr qui pointe
vers votre fichier .TAB ( je pense que c'est possible ).
Hors ligne
#3 Thu 17 October 2019 13:01
- YasmineB
- Participant occasionnel
- Date d'inscription: 20 Dec 2017
- Messages: 19
Re: Remplacer une table liée à des vues dans PostgreSQL/PostGIS
Bonjour, merci beaucoup pour votre réponse si rapide.
Je tente votre 1ère proposition. Je ne sais pas du tout utiliser la commande ogr2ogr via pg admin malgré mes recherches... Si possible, pouvez-vous me montrer un exemple pour importer un fichier TAB dans ma base ?
Quelque soit ma tentative j'ai ce message d'erreur : ERROR: ERREUR: erreur de syntaxe sur ou près de « ogr2ogr »
Dernière modification par YasmineB (Thu 17 October 2019 14:03)
Hors ligne
#4 Thu 17 October 2019 17:16
- tumasgiu
- Membre
- Lieu: Ajaccio
- Date d'inscription: 5 Jul 2010
- Messages: 1143
Re: Remplacer une table liée à des vues dans PostgreSQL/PostGIS
ogr2ogr est un programme à part qui n'a rien à voir avec pgAdmin ou postgresql.
Sous Windows, il est fourni dans la suite Osgeo4Windows.
Si vous avez installer Qgis, vous devriez ausis avoir ogr2ogr d'installé
Ce programme permet de transformer une source de données compatible OGR
en une autre source de données OGR
Il s'utilise en ligne de commande comme suit :
Code:
ogr2ogr -f 'PostgreSQL' PG:"database=ma_base username=mon_nom_dutilisateur password=**** port=543x" mon_fichier.tab -nln "nom_table_postgres" -append
l'option -append spécifie au programme de ne pas créer la table mais de juste la mettre à jour.
Dernière modification par tumasgiu (Mon 21 October 2019 11:07)
Hors ligne
#5 Fri 18 October 2019 10:11
- YasmineB
- Participant occasionnel
- Date d'inscription: 20 Dec 2017
- Messages: 19
Re: Remplacer une table liée à des vues dans PostgreSQL/PostGIS
Bonjour,
Merci beaucoup pour toutes ces explications. Par la même occasion, je comprends mieux toutes les commandes pg_dump, pg_restore etc qui me paraissaient incompréhensibles jusque là...!
Je m’attelle à votre 1ère proposition cet après-midi.
Belle fin de semaine à vous.
Dernière modification par YasmineB (Fri 18 October 2019 10:23)
Hors ligne
Pages: 1
- Sujet précédent - Remplacer une table liée à des vues dans PostgreSQL/PostGIS - Sujet suivant