本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
PostgreSQL \copy
命令是可從psql
互動式用戶端工具取得的中繼命令。您可以使用 \copy
將資料匯入RDS至 for PostgreSQL 資料庫執行個體上的資料表。若要使用 \copy
命令,首先需在目標資料庫執行個體上建立資料表結構,讓 \copy
具有複製資料的目的地。
您可以使用 從逗號分隔值 (CSV) 檔案\copy
載入資料,例如已匯出並儲存至用戶端工作站的資料。
若要將CSV資料匯入 PostgreSQL 資料庫執行個體RDS的目標,請先使用 連線至目標資料庫執行個體psql
。
psql --host=
db-instance.111122223333
.aws-region
.rds.amazonaws.com --port=5432 --username=postgres
--password --dbname=target-db
然後執行 \copy
命令搭配下列參數,以識別資料的目標及其格式。
-
target_table
– 應接收從CSV檔案複製之資料的資料表名稱。 -
column_list
– 資料表的資料欄規格。 -
'filename'
– 本機工作站上CSV檔案的完整路徑。
\copy
target_table
from '/path/to/local/filename.csv
' WITH DELIMITER ',' CSV;
如果您的CSV檔案具有資料欄標題資訊,您可以使用此版本的命令和參數。
\copy
target_table
(column-1
,column-2
,column-3
,...
) from '/path/to/local/filename.csv
' WITH DELIMITER ',' CSV HEADER;
如果\copy
命令失敗,PostgreSQL 會輸出錯誤訊息。
在資料庫預覽環境中使用 psql
命令搭配 meta-mand \copy
建立新的資料庫執行個體,如下列範例所示。此範例使用 source-table 做為來源資料表名稱、source-table.csv 做為 .csv 檔案,而 target-db 做為目標資料庫:
用於 Linux, macOS,或 Unix:
$psql target-db \ -U <admin user> \ -p <port> \ -h <DB instance name> \ -c "\copy source-table from 'source-table.csv' with DELIMITER ','"
用於 Windows:
$psql target-db ^ -U <admin user> ^ -p <port> ^ -h <DB instance name> ^ -c "\copy source-table from 'source-table.csv' with DELIMITER ','"
如需 \copy
命令的完整詳細資訊,請參閱 PostgreSQL 文件中的 psql