Important
Azure Cosmos DB for PostgreSQL は、新しいプロジェクトではサポートされなくなりました。 このサービスは、新しいプロジェクトには使用しないでください。 代わりに、次の 2 つのサービスのいずれかを使用します。
Azure Cosmos DB for NoSQL は、99.999% 可用性サービス レベル アグリーメント (SLA)、インスタント 自動スケール、および複数のリージョン間の自動フェールオーバーを使用する 大規模 なシナリオ向けに設計された分散データベース ソリューションに使用します。
オープンソースの Citus 拡張機能を使用して、シャード化された PostgreSQL 用の Azure Database For PostgreSQL のエラスティック クラスター機能 を使用します。
COPY コマンドは、ファイルとデータベース テーブルの間でデータを移動するために使用されます。
COPY は、ディスクへのアクセスを必要とするサーバー ベースのコマンドであり、通常はサーバー管理者に限定されます。 ただし、Azure Cosmos DB for PostgreSQL は、サービスとしてのプラットフォーム (PaaS) ソリューションとして動作します。これは、ユーザーにスーパーユーザー特権が付与されていないことを意味します。 このため、COPY コマンドはプラットフォームでは完全にはサポートされていません。
代替手段である \COPY は、実行されるコンピューターのローカル ファイル システムと直接対話しやすくする、psql およびその他のクライアント インターフェイスで使用できるコマンドです。
Azure Blob Storage のサポート
pg_azure_storage 拡張機能は、Azure Blob Storage をデータ ソースとして利用して、ディスク アクセスの制限を解消します。 この拡張機能を有効にすると、Azure Blob Storage サポートがある組み込みの COPY コマンドも拡張されます。
github_users コマンドを使用して COPY テーブルにデータを読み込む:
COPY github_users
FROM 'https://pgquickstart.blob.core.windows.net/github/users.csv.gz';
現在、この拡張機能は次のファイル形式をサポートしています。
| format | description |
|---|---|
| csv | PostgreSQL COPY で使用されるコンマ区切りの値の形式 |
| tsv | タブ区切りの値 (PostgreSQL COPY の既定形式) |
| binary | バイナリ PostgreSQL COPY 形式 |
| SMS 送信 | 1 つのテキスト値を含むファイル (大きな JSON や XML など) |
注意
サポートされている構文とオプションは、Postgres Native COPY コマンドと同様に残りますが、次の例外があります:
FREEZE [ boolean ]HEADER MATCH
COPY TO構文はまだサポートされていません。\COPYはpsqlベースのコマンドであり、Azure Blob Storage 統合をサポートしていません。\COPYは、クラスターでのインポートやエクスポートの実行を許可しますが、ネットワーク経由でのファイルの移動やコピーが必要になります。
次の手順
pg_azure_storage 拡張機能の使用の詳細をご確認ください。