Поделиться через


Команда 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.