Het lijkt erop dat je in de war bent door de bestandspadnotatie van Linux versus Windows. Wat je daar hebt, is een Linux-pad dat verankerd is aan root. Windows gebruikt stationsletters, die u net zo goed kunt opgeven als u op Windows werkt.
Als u Windows-notatie gebruikt, zorg er dan voor dat u backslashes moet ontsnappen als u standard_conforming_strings =aan
- wat de standaard is in Postgres 9.1 of hoger, maar niet in oudere versies. Vind ik leuk:
COPY data_table from E'C:\\tmp\\outputdata.csv' WITH ...
Met standard_conforming_strings =aan
je kunt gewoon schrijven:
COPY data_table from 'C:\tmp\outputdata.csv' WITH ...
Merk op dat een PostgreSQL Windows-server ook de standaard padnotatie begrijpt met slashes in plaats van backslashes.
Voor SQL KOPIE VAN / NAAR
je kunt elk pad gebruiken dat de eigenaar van de server verwerkt (postgres
standaard) toestemming heeft om te lezen/schrijven.
Voor de \copy
meta-opdracht van de psql-client zijn de machtigingen van de huidige lokale gebruiker van toepassing.