我从以下位置下载了这些标题: https://dumps.wikimedia.org/enwiki/20240420/enwiki-20240420-all-titles-in-ns0.gz
提取后,它们是一个换行符分隔的文本文件。 在 postgresql 中,我创建了一个表来存储数据:
create table titles (
title varchar(255) primary key
);
我尝试使用文本或 csv 格式导入它:
thisdb=# COPY titles FROM '/some/path/enwiki-20240401-all-titles-in-ns0' with (format 'text');
ERROR: duplicate key value violates unique constraint "titles_pkey"
DETAIL: Key (title)=(//Xekwi_language) already exists.
CONTEXT: COPY titles, line 23830
但是当我对文件进行较少的搜索时,只有一行有该记录,这很奇怪。也许这是一个逃避的问题? 不知怎的,它看到了线条:
//Xek\wi_language
//Xekwi_language
作为同一个条目。 当我单独插入它们时,没有冲突,但是当我进行格式文本复制时,它会将其视为冲突......为什么?
或 csv:
thisdb=# COPY titles FROM '/some/path/enwiki-20240401-all-titles-in-ns0' with (format 'csv');
ERROR: extra data after last expected column
CONTEXT: COPY titles, line 45: "!Alfaro_Vive,_Carajo!"
有人知道该怎么做吗?