Sembra che tu sia confuso dalla notazione del percorso file di Linux e Windows. Quello che hai lì è un percorso Linux ancorato a root. Windows utilizza lettere di unità, che puoi specificare anche quando esegui Windows.
Se utilizzi la notazione Windows, assicurati di dover evitare le barre inverse se non stai utilizzando standard_conforming_strings = on
- che è l'impostazione predefinita in Postgres 9.1 o versioni successive, ma non nelle versioni precedenti. Come:
COPY data_table from E'C:\\tmp\\outputdata.csv' WITH ...
Con standard_conforming_strings = on
puoi semplicemente scrivere:
COPY data_table from 'C:\tmp\outputdata.csv' WITH ...
Nota che un server PostgreSQL Windows comprende anche la notazione di percorso predefinita con barre anziché barre inverse.
Per SQL COPY FROM / TO
puoi utilizzare qualsiasi percorso elaborato dal proprietario del server (postgres
per impostazione predefinita) ha il permesso di leggere/scrivere.
Per \copy
meta comando del client psql si applicano le autorizzazioni dell'utente locale corrente.