Lorsque j'entre de nouveaux éléments (fonctionnalités) dans un autre calque Postgres, je peux le faire de deux manières:
- Dessiner de nouveaux éléments (avec 'Ajouter une fonctionnalité') que je fais rarement ou
- Copier (ou couper) certains éléments d'un autre calque Postgre (calque source) et le coller dans le calque cible, ce que je fais fréquemment
Dans le premier exemple, l'enregistrement des modifications fonctionne normalement car cette couche obtient un gid à partir de la séquence de base de données postgre * nextval ('layer_name_gid_seq' :: regclass) *
Dans le deuxième exemple, une erreur s'est produite lors de l'enregistrement des modifications, car lors de la copie de l'élément du calque source vers le calque cible, qg est copié gid de l'élément du calque source. Lorsque vous tentez d'enregistrer des modifications, cette erreur est renvoyée:
Impossible de valider les modifications de la couche «Cjevovodi»
Erreurs: ERREUR: 1 fonctionnalité (s) non ajoutée (s).
Erreurs du fournisseur:
erreur PostGIS lors de l'ajout de fonctionnalités: ERREUR: la valeur de clé en double viole la contrainte unique "cjevovodi_okill_pkey"
DÉTAIL: la clé (gid) = (5) existe déjà.
J'ai essayé de copier * nextval ('layer_name_gid_seq' :: regclass) * dans le champ gid, mais cette séquence ne peut pas être collée dans le champ gid car le champ est défini comme numérique.
Est-ce que quelqu'un connaît un moyen simple de copier des éléments de la couche source (avec un gid existant) pour attribuer un nouveau gid?
Merci!