PostgreSQLでデータをCSVインポートを行う際、id列のデータ型にserial型の場合、シーケンスについても考慮する必要があります。
データを移行するだけたと、シーケンス番号が進まず、以下のようなエラーがでます。
Unique violation: 7 ERROR: duplicate key value violates unique constraintidカラムにserial型を設定している場合は、データのインポート後に以下のコマンドを実行しましょう。
例えば、categoryテーブルのserial型にcategory_idのシーケンスIDがcategory_category_id_seqの場合は以下でOKです。
SELECT setval('category_category_id_seq',(SELECT max(category_id) FROM category));SELECT max(category_id) FROM dtb_customer;でレコード数を取得し、シーケンス番号をsetval()で進めます。