Sử dụng phương pháp tương tự như bạn đã mô tả, nhưng DELETE
(hoặc nhóm, hoặc sửa đổi ...) trùng lặp PK
trong bảng tạm thời trước khi tải vào bảng chính.
Một cái gì đó như:
CREATE TEMP TABLE tmp_table
ON COMMIT DROP
AS
SELECT *
FROM main_table
WITH NO DATA;
COPY tmp_table FROM 'full/file/name/here';
INSERT INTO main_table
SELECT DISTINCT ON (PK_field) *
FROM tmp_table
ORDER BY (some_fields)
Chi tiết:CREATE TABLE AS
, COPY
, DISTINCT ON