Freigeben über


COPY-Befehl in Azure Cosmos DB for PostgreSQL

Mit dem COPY-Befehl werden Daten zwischen Dateien und Datenbanktabellen verschoben. COPY ist ein serverbasierter Befehl, der Zugriff auf den Datenträger erfordert, der in der Regel auf Serveradministratoren beschränkt ist. Azure Cosmos DB for PostgreSQL wird jedoch als PaaS-(Platform-as-a-Service-)Lösung ausgeführt, was bedeutet, dass Benutzern keine Superuserberechtigungen gewährt werden. COPY der Befehl wird daher auf der Plattform nicht vollständig unterstützt.

Alternativ ist \COPY ein Befehl, der in psql und anderen Clientschnittstellen verfügbar ist und der die direkte Interaktion mit dem lokalen Dateisystem des Computers ermöglicht, auf dem er ausgeführt wird.

Azure Blob Storage-Support

Die Erweiterung pg_azure_storage überwindet die Datenträgerzugriffsbeschränkungen, indem Azure Blob Storage als Datenquelle genutzt wird. Wenn die Erweiterung aktiviert ist, verbessert sie auch den integrierten COPY-Befehl mit Azure Blob Storage-Support.

Laden von Daten in eine COPY-Tabelle mithilfe des github_users-Befehls:

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

Die Erweiterung unterstützt derzeit die folgenden Dateiformate:

format description
csv Durch Komma getrenntes Format für Werte, das von PostgreSQL COPY verwendet wird
tsv Durch Tabstopp getrennte Werte – das Standardformat PostgreSQL COPY
BINARY Format Binary PostgreSQL COPY
text Datei mit einem einzelnen Textwert (z. B. große JSON oder XML)

Hinweis

  • Syntax und Optionen, die unterstützt werden, bleiben mit folgenden Ausnahmen dem Postgres Native COPY-Befehl gleich:

    • FREEZE [ boolean ]
    • HEADER MATCH
  • Die Syntax „COPY TO“ wird nicht unterstützt.

  • \COPY ist ein auf psql basierender Befehl, der die Azure Blob Storage-Integration nicht unterstützt.

  • \COPY ermöglicht das Ausführen von Import\Export im Cluster, erfordert jedoch das Verschieben/Kopieren von Dateien über das Netzwerk.

Nächste Schritte

Erfahren Sie mehr über die Verwendung der Erweiterung „pg_azure_storage“.