我正在像这样将一些行导入到我的PostgreSQL数据库中:
psql -U postgres import_test < 1432798324_data
我的import_test
是我的数据库,1432798324_data
文件只是普通文本格式,类似于:
COPY cars FROM stdin;
<row data>
<row data>
...
\.
COPY drivers FROM stdin;
<row data>
<row data>
...
\.
(我从这里的回答中获取了该纯文本文件的格式 here)。
当我导入到空数据库时,此方法运行良好。但是,如果数据库不为空,并且在导入期间发现任何重复行,则会出现错误:
ERROR: duplicate key value violates unique constraint "car_pkey"
如果有重复的数据,我能否修改导入命令以强制覆盖它们?换句话说,如果我正在导入一行数据并且已经存在具有相同id的行,则希望我的新行可以将其覆盖。