banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#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: 1160

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: 1160

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

 

Pied de page des forums

Powered by FluxBB