Import CSV do PostgreSQL w n8n bez duplikatów i błędów wymaga trzech rzeczy: odczytu pliku z właściwym separatorem i kodowaniem, walidacji danych przed zapisem oraz zapisu z aktualizacją po kluczu unikalnym zamiast zwykłego wstawiania. Workflow może pobierać pliki z maila, FTP/SFTP, Google Drive lub adresu URL i działać według harmonogramu. Przy bardzo dużych plikach lepiej użyć natywnego COPY PostgreSQL do tabeli tymczasowej, a n8n niech steruje procesem i raportuje wynik.
Workflow krok po kroku
- Wyzwalacz: nowy plik na SFTP lub w Drive, mail z załącznikiem albo harmonogram.
- Odczyt: Extract from File w trybie CSV, z ustawionym separatorem.
- Walidacja: wymagane pola, formaty dat i liczb, dozwolone wartości. Błędne wiersze trafiają do osobnej listy.
- Zapis: węzeł Postgres z operacją Insert or Update (upsert) po kolumnie z ograniczeniem UNIQUE.
- Raport: liczba zapisanych, zaktualizowanych i odrzuconych wierszy, wysłana do właściciela procesu.

Jak uniknąć duplikatów
- Zdefiniuj w tabeli klucz unikalny (np. numer zamówienia, SKU, ID zewnętrzne).
- Zapisuj przez upsert:
INSERT ... ON CONFLICT (klucz) DO UPDATE, co robi operacja Insert or Update w n8n. - Zapamiętuj przetworzone pliki (nazwa, suma kontrolna), żeby nie wczytać tego samego pliku dwa razy.
Duże pliki
Przy setkach tysięcy wierszy przetwarzanie wiersz po wierszu jest wolne. Lepszy wzorzec: plik trafia na serwer bazy, COPY ładuje go do tabeli tymczasowej, a jedno zapytanie SQL przenosi dane do tabeli docelowej z upsertem. n8n uruchamia te kroki i obsługuje błędy.
Najczęstsze błędy
| Błąd | Przyczyna |
|---|---|
| invalid input syntax for type numeric | Przecinek dziesiętny lub spacje w liczbach |
| date/time field value out of range | Format daty DD.MM.RRRR zamiast RRRR-MM-DD |
| duplicate key value violates unique constraint | Zwykły insert zamiast upsertu |
| Krzaczki w tekstach | Kodowanie pliku inne niż UTF-8 |
Podobne procesy: import CSV do MySQL, import CSV do Google Sheets i eksport SQL do CSV.
Importy danych z Codeless
Zobacz usługę automatyzacji procesów albo umów bezpłatną konsultację.
