PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

COPIA funzione in PostgreSQL

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.