Partilhar via


Comando COPY no Azure Cosmos DB para PostgreSQL

O comando COPY é usado para mover dados entre arquivos e tabelas de banco de dados. COPY é um comando baseado em servidor que requer acesso ao disco, geralmente limitado a administradores de servidor. No entanto, o Azure Cosmos DB para PostgreSQL opera como uma solução de plataforma como serviço (PaaS), o que significa que os usuários não recebem privilégios de superusuário. COPY portanto, não é totalmente suportado na plataforma.

Alternativamente, \COPY é um comando disponível em psql e outras interfaces de cliente que facilita a interação direta com o sistema de arquivos local da máquina onde ele é executado.

Suporte ao Armazenamento de Blobs do Azure

A pg_azure_storage extensão supera a limitação de acesso ao disco aproveitando o Armazenamento de Blobs do Azure como uma fonte de dados. Quando habilitada, a extensão também aprimora o comando interno COPY com suporte ao Armazenamento de Blobs do Azure.

Carregue dados na github_users tabela usando o COPY comando:

COPY github_users
FROM 'https://pgquickstart.blob.core.windows.net/github/users.csv.gz';

Atualmente, a extensão suporta os seguintes formatos de arquivo:

format descrição
csv Formato de valores separados por vírgulas usado pelo PostgreSQL COPY
TSV Valores separados por tabulações, o formato padrão PostgreSQL COPY
binário Formato binário PostgreSQL COPY
texto Um arquivo que contém um único valor de texto (por exemplo, JSON ou XML grande)

Nota

  • A sintaxe e as opções suportadas permanecem da mesma forma que o comando Postgres Native COPY , com as seguintes exceções:

    • FREEZE [ boolean ]
    • HEADER MATCH
  • COPY TO A sintaxe ainda não é suportada.

  • \COPY é um psql comando baseado e não dá suporte à integração do Armazenamento de Blob do Azure.

  • \COPY Permite executar importação\exportação no cluster, mas requer mover\copiar arquivos pela rede.

Próximos passos

Saiba mais sobre o uso de pg_azure_storage extensão.