Automatyczny eksport danych z PostgreSQL do CSV możesz zrobić poleceniem COPY (zapytanie) TO na serwerze bazy lub \copy w psql po stronie klienta, uruchamianym przez harmonogram systemowy (cron), albo w n8n, które według harmonogramu wykonuje zapytanie, tworzy plik CSV i wysyła go do odbiorców. Pierwsza metoda jest najszybsza przy dużych tabelach. Druga jest wygodniejsza, gdy plik ma trafić mailem, na SFTP, do chmury lub arkusza, a ktoś ma dostać powiadomienie o wyniku.
Porównanie metod
| Metoda | Zalety | Ograniczenia |
|---|---|---|
| COPY TO (serwer) | Bardzo szybki eksport dużych zbiorów | Plik powstaje na serwerze bazy, wymaga uprawnień |
| \copy w psql + cron | Plik po stronie klienta, proste skrypty | Wysyłka i alerty trzeba dopisać |
| n8n | Harmonogram, wysyłka, alerty i log w jednym miejscu | Wolniejszy przy bardzo dużych zbiorach |

Eksport w n8n krok po kroku
- Schedule Trigger, np. codziennie o 6:00.
- Węzeł Postgres wykonuje zapytanie z filtrem dat (np. dane z poprzedniego dnia).
- Convert to File tworzy CSV z wybranym separatorem i nagłówkiem.
- Plik trafia na SFTP, Google Drive, S3 lub mailem.
- Raport: liczba wierszy i nazwa pliku, a przy błędzie alert.
Dobre praktyki
- użytkownik bazy tylko do odczytu, z dostępem do potrzebnych widoków,
- eksport z widoku przygotowanego pod odbiorcę, a nie bezpośrednio z tabel,
- nazwy plików z datą i stała struktura kolumn uzgodniona z odbiorcą,
- przy danych osobowych szyfrowanie lub bezpieczny kanał przekazania.
Więcej w artykułach eksport SQL do CSV i import CSV do PostgreSQL.
Eksporty danych z Codeless
Zobacz usługę automatyzacji procesów albo umów bezpłatną konsultację.