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
é umpsql
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.