使用 COPY 插入数据
COPY 是 PostgreSQL 的批量插入机制。这是在文件和表之间传输数据的便捷方式,但是当一次添加超过几千行时,它也比 INSERT
快得多。
让我们从创建示例数据文件开始。
cat > samplet_data.csv
1,Yogesh
2,Raunak
3,Varun
4,Kamal
5,Hari
6,Amit
我们需要一个两列表,可以将这些数据导入其中。
CREATE TABLE copy_test(id int, name varchar(8));
现在实际的复制操作,这将在表中创建六条记录。
COPY copy_test FROM '/path/to/file/sample_data.csv' DELIMITER ',';
可以从 stdin
插入数据,而不是在磁盘上使用文件
COPY copy_test FROM stdin DELIMITER ',';
Enter data to be copied followed by a newline.
End with a backslash and a period on a line by itself.
>> 7,Amol
>> 8,Amar
>> \.
Time: 85254.306 ms
SELECT * FROM copy_test ;
id | name
----+--------
1 | Yogesh
3 | Varun
5 | Hari
7 | Amol
2 | Raunak
4 | Kamal
6 | Amit
8 | Amar
你还可以将数据从表复制到文件,如下所示:
COPY copy_test TO 'path/to/file/sample_data.csv' DELIMITER ',';
有关 COPY 的更多详细信息,请访问此处