Det ser ut som att du är förvirrad av Linux vs Windows-filsökvägsbeteckning. Det du har där är en Linux-sökväg förankrad till root. Windows använder enhetsbokstäver, som du kan ange lika bra när du kör Windows.
Om du använder Windows-notation, se till att du måste undgå bakåtstreck om du inte använder standard_conforming_strings = on
- vilket är standard i Postgres 9.1 eller senare, men inte i äldre versioner. Gilla:
COPY data_table from E'C:\\tmp\\outputdata.csv' WITH ...
Med standard_conforming_strings = on
du kan helt enkelt skriva:
COPY data_table from 'C:\tmp\outputdata.csv' WITH ...
Observera att en PostgreSQL Windows-server också förstår standardsökvägsbeteckningen med snedstreck istället för bakåtstreck.
För SQL COPY FROM / TO
du kan använda vilken sökväg som helst som serverns ägare bearbetar (postgres
som standard) har behörighet att läsa/skriva.
För \copy
metakommandot för psql-klienten gäller behörigheter för nuvarande lokala användare.