この質問は複数の人から聞かれましたが、私の問題は異なるようです。
実際、postgresqlの異なるデータベースの同じ構造化テーブルを新しいDBにマージする必要があります。私は何をやっていることは、私はデータベース・リンクを使用してdbのリモートに接続することであるDBにそのテーブルを読み込み、postgresql:エラー重複キー値が一意制約に違反しています
INSERT INTO t_types_of_dementia SELECT * FROM dblink('host=localhost port=5432 dbname=snap-cadence password=xxxxxx', 'SELECT dementia_type, snapid FROM t_types_of_dementia') as x(dementia_type VARCHAR(256),snapid integer);
このクエリが正常に動作が、私は実行したときに初めて、以下のように現在のDB内のテーブルに挿入しますそれはいくつかの他のリモートデータベースのテーブルでそれを実行しようと再びか:それは私がこの新しいテーブルが他のDBSから他人のテーブルのエントリによって移入されることを望ん
ERROR: duplicate key value violates unique constraint "t_types_of_dementia_pkey"
私は、このエラーが発生します。 シーケンスに関するソリューション提案協議のいくつかが、私は現在のDB内のテーブルの構造は
CREATE TABLE t_types_of_dementia(
dementia_type VARCHAR(256),
snapid integer NOT NULL,
PRIMARY KEY (dementia_type,snapid)
);
P.S.ある任意の
を使用していません両方の列がプライマリキーとして使用される特定の理由があります。これは、この問題が発生していない他のテーブルでも同じ問題が発生するため、このディスカッションでは関連しない可能性があります。
ありがとう@Jonas。この制約を緩和するための回避策がありますか? – Shehroz
@Shehroz:別の主キーを使う必要があります。私の更新を見てください。 – Jonas
@ Jonas-あなたのポインタをありがとう。他の表では、ケースは異なるかもしれませんが、私はあなたの中心的な考えを得ます。 – Shehroz