Important
Azure Cosmos DB for PostgreSQL 已經走在退役路線上,不再建議新專案使用。 請改用下列兩項服務之一:
針對 PostgreSQL 工作負載: 使用 Azure Database For PostgreSQL 的彈性叢集功能 ,利用開源 Citus 擴充套件中包含的水平擴展與分散式 PostgreSQL 功能。 關於遷移指引,請參見 migrate to 適用於 PostgreSQL 的 Azure 資料庫 with Elastic Cluster。
對於 NoSQL 工作負載,建議使用 Azure Cosmos DB for NoSQL ,作為分散式資料庫解決方案,包含 99.999% 可用性服務水準協議(SLA)、即時自動擴展,以及跨多區域的自動故障轉移。
COPY 命令可用來在檔案和資料庫數據表之間行動資料。
COPY 是需要存取磁碟的伺服器型命令,通常僅限於伺服器管理員。 不過,適用於 PostgreSQL 的 Azure Cosmos DB 會以平臺即服務 (PaaS) 解決方案運作,這表示使用者不會獲得超級用戶許可權。
COPY 因此,平臺不支援 命令。
或者,是在和其他用戶端介面中\COPY提供的命令,psql可協助與執行所在計算機的本機文件系統直接互動。
Azure Blob 儲存體 支援
此pg_azure_storage延伸模組藉由利用 Azure Blob 儲存體 作為數據源來克服磁碟存取限制。 啟用時,擴充功能也會使用 Azure Blob 儲存體 支援來增強內COPY建命令。
使用 github_users 命令將資料COPY載入資料表:
COPY github_users
FROM 'https://pgquickstart.blob.core.windows.net/github/users.csv.gz';
目前延伸模組支援下列檔案格式:
| format | 描述 |
|---|---|
| csv | PostgreSQL COPY 使用的逗號分隔值格式 |
| tsv | 定位字元分隔值,預設的 PostgreSQL COPY 格式 |
| 二進位 | 二進位 PostgreSQL COPY 格式 |
| 收發簡訊 | 包含單一文字值的檔案 (例如,大型 JSON 或 XML) |
Note
支援的語法和選項與 Postgres Native COPY 命令相同,但有下列例外狀況:
FREEZE [ boolean ]HEADER MATCH
COPY TO尚不支援語法。\COPYpsql是以 命令為基礎,不支援 Azure Blob 儲存體 整合。\COPY會允許在叢集上執行 import\export,但需要跨網路移動\複製檔案。
下一步
深入瞭解pg_azure_storage延伸模組的使用方式。