別のPostgresレイヤーに新しい要素(機能)を入力する場合、次の2つの方法で行うことができます。
- まれに新しい要素を描画する(「機能の追加」を使用)または
- 別のPostgreレイヤー(ソースレイヤー)からいくつかの要素をコピー(またはカット)し、頻繁に行うターゲットレイヤーに貼り付けます
最初の例では、このレイヤーがpostgreデータベースシーケンスからgidを取得するため、編集の保存は正常に機能します* nextval( 'layer_name_gid_seq' :: regclass)*
2番目の例では、ソースレイヤーからターゲットレイヤーに要素をコピーしているときにqgis がソースレイヤーから要素のgidをコピーしたため、編集の保存中にエラーが発生しました 。編集を保存しようとすると、次のエラーが返されます。
レイヤー「Cjevovodi」への変更をコミットできませんでした
エラー:エラー:1つの機能が追加されていません。
プロバイダーエラー:
機能の追加中のPostGISエラー:エラー:重複するキー値が一意の制約 "cjevovodi_okill_pkey"に違反しています
詳細:キー(gid)=(5)は既に存在します。
* nextval( 'layer_name_gid_seq' :: regclass)*をフィールドgidにコピーしようとしましたが、フィールドが数値として定義されているため、このシーケンスをフィールドgidに貼り付けることはできません。
(既存のgidで)ソースレイヤーから要素をコピーして新しいgidを割り当てる簡単な方法を知っている人はいますか?
ありがとう!