Wenn ich neue Elemente (Features) in eine andere Postgres-Ebene eingebe, kann ich dies auf zwei Arten tun:
- Zeichnen neuer Elemente (mit 'Feature hinzufügen'), die ich selten oder selten mache
- Kopieren (oder Ausschneiden) einiger Elemente aus einer anderen Postgre-Ebene (Quellenebene) und Einfügen in die Zielebene, was ich häufig mache
Im ersten Beispiel von Änderungen zu speichern funktioniert normal , da diese Schicht wird gid aus postgre Datenbanksequenz * nextval ( ‚layer_name_gid_seq‘ :: regclass) *
Im zweiten Beispiel ist beim Speichern von Änderungen ein Fehler aufgetreten, da beim Kopieren des Elements von der Quellenebene in die Zielebene qg die GID des Elements von der Quellenebene kopiert wird. Beim Versuch, Änderungen zu speichern, wird dieser Fehler zurückgegeben:
Änderungen an Layer „Cjevovodi“ konnten nicht festgeschrieben werden.
Fehler: FEHLER : 1 Feature (s) nicht hinzugefügt.
Anbieterfehler:
PostGIS-Fehler beim Hinzufügen von Funktionen: FEHLER: Doppelter Schlüsselwert verletzt eindeutige Einschränkung "cjevovodi_okill_pkey"
DETAIL: Schlüssel (gid) = (5) ist bereits vorhanden.
Ich habe versucht, * nextval ('layer_name_gid_seq' :: regclass) * in Feld gid zu kopieren, aber diese Sequenz kann nicht in Feld gid eingefügt werden, da das Feld als numerisch definiert ist.
Kennt jemand eine einfache Möglichkeit, Elemente aus der Quellenebene (mit vorhandener GID) zu kopieren und eine neue GID zuzuweisen?
Vielen Dank!