Команда COPY в Azure Cosmos DB для PostgreSQL
Команда COPY используется для перемещения данных между файлами и таблицами базы данных. COPY
— это серверная команда, требующая доступа к диску, обычно ограничена администраторами сервера. Однако Azure Cosmos DB для PostgreSQL работает как решение "Платформа как услуга" (PaaS), что означает, что пользователи не получают права суперпользователя. COPY
Таким образом, команда не полностью поддерживается на платформе.
Кроме того, \COPY
это команда, доступная в psql
и других клиентских интерфейсах, которые упрощают прямое взаимодействие с локальной файловой системой компьютера, где она выполняется.
поддержка Хранилище BLOB-объектов Azure
Расширение pg_azure_storage
преодолевает ограничение доступа к диску, используя Хранилище BLOB-объектов Azure в качестве источника данных. При включении расширение также улучшает встроенную COPY
команду с поддержкой Хранилище BLOB-объектов Azure.
Загрузите данные в github_users
таблицу COPY
с помощью команды:
COPY github_users
FROM 'https://pgquickstart.blob.core.windows.net/github/users.csv.gz';
В настоящее время расширение поддерживает следующие форматы файлов:
format | описание |
---|---|
csv | Формат разделенных запятыми значений, используемый PostgreSQL COPY |
tsv | Значения, разделенные табуляции, формат копирования PostgreSQL по умолчанию |
binary | Формат копирования двоичного postgreSQL |
text | Файл, содержащий одно текстовое значение (например, большой json или XML) |
Примечание.
Синтаксис и параметры, поддерживаемые по-прежнему аналогично команде Postgres Native COPY , с следующими исключениями:
FREEZE [ boolean ]
HEADER MATCH
COPY TO
синтаксис пока не поддерживается.\COPY
— это основаннаяpsql
команда и не поддерживает интеграцию Хранилище BLOB-объектов Azure.\COPY
разрешает выполнение импорта и экспорта в кластере, но требует перемещения и копирования файлов в сети.
Следующие шаги
Узнайте больше об использовании расширения pg_azure_storage.