Pages: 1
- Sujet précédent - QGIS et PostgreSQL: Copier/Coller et Conservation de la cle primaire - Sujet suivant
#1 Wed 13 April 2022 14:31
- jlavaure
- Participant assidu
- Date d'inscription: 20 Apr 2013
- Messages: 203
QGIS et PostgreSQL: Copier/Coller et Conservation de la cle primaire
Bonjour,
Voici mon cas :
Nous avons une table dans une BD PostgreSQL avec l'extension PostGIS. Dans les paramétrages de la table j'ai définis un champ "id" comme clé primaire.
Je reçois des données d'un prestataire externe sous forme d'un shp (ou gpkg ou geojson) mais avec exactement la même table attributaire.
Je souhaite simplement copier/coller des entités de la donnée externe (qui respecte un id comme pk) vers ma table postgres. Mais à chaque fois je n'ai pas l'id qui est conservé et je dois l'écrire à nouveau (ça me met NULL). Quand ma clé primaire faire 12 caractères et que j'ai 80 entités à copier/coller et que je dois recopier toutes les clés primaires .... c'est très long.
Savez-vous pourquoi la clé primaire est mise comme NULL et n'est pas conservé lors du copier/coller vers la table PostgreSQL ?
Merci à vous !
Hors ligne
#2 Mon 25 April 2022 08:34
- JD
- Moderateur
- Date d'inscription: 8 Aug 2013
- Messages: 726
Re: QGIS et PostgreSQL: Copier/Coller et Conservation de la cle primaire
Bonjour,
Il faudrait vérifier côté postgresql que votre champs id est bien une primary key avec une séquence qui s'autoincremente. Si tel est le cas, normalement il n'est pas utile de préremplir le champs id dans suis.
Hors ligne
#3 Wed 26 October 2022 11:33
- Karine L
- Juste Inscrit !
- Date d'inscription: 16 Jun 2020
- Messages: 7
Re: QGIS et PostgreSQL: Copier/Coller et Conservation de la cle primaire
Bonjour,
nous rencontrons le même problème avec la version QGIS 3.22.7.
En testant, ce problème apparaît dès qu'il y a une contrainte d'unicité dans PostGIS (même si l'id n'est pas clé primaire).
J'ai fait un signalement sur gitHub à la suite d'un signalement de bug similaire.
https://github.com/qgis/QGIS/issues/46467
Pour info, dans l'attente de la résolution de ce bug, nous utilisons la version LTR précédente, la 3.16.4
Le problème ne se pose pas avec cette version.
EDIT : pour info, ce sont des cas où nous copions des données d'une table de travail à une table de production, et nous souhaitons conserver l'id de la table de travail, l'id dans la table de destination ne peut donc pas être auto-incrémenté
Dernière modification par Karine L (Wed 26 October 2022 11:40)
Hors ligne
#4 Wed 26 October 2022 15:28
- Robin.k
- Participant occasionnel
- Date d'inscription: 15 Mar 2022
- Messages: 45
Re: QGIS et PostgreSQL: Copier/Coller et Conservation de la cle primaire
Pour contourner le problème :
vous pouvez créer un champ ID_Presta dans le shp du prestataire => calcul de champ id sur la couche presta puis créer une colonne id_presta sur votre couche postgis
Copier coller les entités en ignorant les entités invalides, calcul de champ id_presta dans id et enregistrer.
Dernière modification par Robin.k (Wed 26 October 2022 15:30)
Hors ligne
Pages: 1
- Sujet précédent - QGIS et PostgreSQL: Copier/Coller et Conservation de la cle primaire - Sujet suivant