PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Função COPY no PostgreSQL


Parece que você está confuso com a notação de caminho de arquivo Linux vs. Windows. O que você tem lá é um caminho do Linux ancorado ao root. O Windows usa letras de unidade, que você também pode especificar quando estiver executando no Windows.

Se você usa a notação do Windows, tome cuidado para escape de barras invertidas se você não estiver usando standard_conforming_strings = on - que é o padrão no Postgres 9.1 ou posterior, mas não em versões mais antigas. Curti:
COPY data_table from E'C:\\tmp\\outputdata.csv' WITH ...

Com standard_conforming_strings = on você pode simplesmente escrever:
COPY data_table from 'C:\tmp\outputdata.csv' WITH ...

Observe que um servidor PostgreSQL Windows também entende a notação de caminho padrão com barras em vez de barras invertidas.

Para SQL COPY FROM / TO você pode usar qualquer caminho que o dono do servidor processe (postgres por padrão) tem permissão para ler/escrever.

Para o \copy meta comando do cliente psql as permissões do usuário local atual se aplicam.