Wygląda na to, że jesteś zdezorientowany notacją ścieżki plików w systemie Linux i Windows. To, co masz, to ścieżka Linuksa zakotwiczona do roota. Windows używa liter dysków, które możesz określić równie dobrze, gdy pracujesz w systemie Windows.
Jeśli używasz notacji Windows, uważaj, aby pominąć ukośniki odwrotne jeśli nie używasz standard_conforming_strings = on
- co jest ustawieniem domyślnym w Postgresie 9.1 lub nowszym, ale nie w starszych wersjach. Na przykład:
COPY data_table from E'C:\\tmp\\outputdata.csv' WITH ...
Z standard_conforming_strings = on
możesz po prostu napisać:
COPY data_table from 'C:\tmp\outputdata.csv' WITH ...
Zauważ, że serwer Windows PostgreSQL rozumie również domyślną notację ścieżki z ukośnikami zamiast ukośników odwrotnych.
Dla SQL COPY FROM / TO
możesz użyć dowolnej ścieżki, którą przetwarza właściciel serwera (postgres
domyślnie) ma uprawnienia do odczytu / zapisu.
Dla \copy
meta polecenie klienta psql obowiązują uprawnienia bieżącego użytkownika lokalnego.