適用於 PostgreSQL 的 Azure Cosmos DB 上的 COPY 命令
COPY 命令可用來在檔案和資料庫數據表之間行動資料。 COPY
是需要存取磁碟的伺服器型命令,通常僅限於伺服器管理員。 不過,適用於 PostgreSQL 的 Azure Cosmos DB 會以平臺即服務 (PaaS) 解決方案運作,這表示使用者不會獲得超級用戶許可權。 COPY
因此,平臺不支援 命令。
或者,是在和其他用戶端介面中psql
提供的命令,\COPY
可協助與執行所在計算機的本機文件系統直接互動。
Azure Blob 儲存體 支援
此pg_azure_storage
延伸模組藉由利用 Azure Blob 儲存體 作為數據源來克服磁碟存取限制。 啟用時,擴充功能也會使用 Azure Blob 儲存體 支援來增強內COPY
建命令。
使用 COPY
命令將資料github_users
載入資料表:
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 格式 |
text | 包含單一文字值的檔案 (例如,大型 JSON 或 XML) |
注意
支援的語法和選項與 Postgres Native COPY 命令相同,但有下列例外狀況:
FREEZE [ boolean ]
HEADER MATCH
COPY TO
尚不支援語法。\COPY
psql
是以 命令為基礎,不支援 Azure Blob 儲存體 整合。\COPY
會允許在叢集上執行 import\export,但需要跨網路移動\複製檔案。
下一步
深入瞭解pg_azure_storage延伸模組的使用方式。