使用 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 的更多詳細資訊,請訪問此處