

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 \$1copy 命令將資料匯入 PostgreSQL 資料庫執行個體上的資料表
<a name="PostgreSQL.Procedural.Importing.Copy"></a>

PostgreSQL `\copy` 命令是中繼命令，可從 `psql` 互動式用戶端工具使用。您可以使用 `\copy` 將資料匯入至 RDS for PostgreSQL 資料庫執行個體上的資料表。若要使用 `\copy` 命令，首先需在目標資料庫執行個體上建立資料表結構，讓 `\copy` 具有複製資料的目的地。

您可以使用 `\copy` 從逗點分隔值 (CSV) 檔案 (例如已匯出並儲存到用戶端工作站的檔案) 載入資料。

若要將 CSV 資料匯入至目標 RDS for PostgreSQL 資料庫執行個體，需先使用 `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 會輸出錯誤訊息。

使用 `\copy` 中繼命令，在資料庫預覽環境中使用 `psql` 命令建立新的資料庫執行個體，如下列範例所示。此範例使用 *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](http://www.postgresql.org/docs/current/static/app-psql.html) 頁面。