在postgreSQL中,使用copy命令从文件(包含主键字段的值)向数据库表(主键为自增型)导入数据后,需要执行一下setval,否则copy进来的serialID和日后insert进去的会重复,造成自增型主键冲突。
例如:
copy my_table from 'C:\\tmp\\data.txt' using delimiters '\t'
select setval('my_table_recordid_seq',(select max(recordid) from my_table));
还要注意的是,文件不能是在根目录下,必须在一个文件夹下。