

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

# 將資料新增至來源 RDS 資料庫並進行查詢
<a name="zero-etl.querying"></a>

若要完成建立 零 ETL 整合，將資料從 Amazon RDS 複製到 Amazon Redshift，您必須在目標目的地中建立資料庫。

對於與 Amazon Redshift 的連線，連線到您的 Amazon Redshift 叢集或工作群組，並建立參考整合識別符的資料庫。然後，您可以將資料新增到來源 RDS 資料庫，並看到該資料在 Amazon Redshift 或 Amazon SageMaker 中複寫。

**Topics**
+ [建立目標資料庫](#zero-etl.create-db)
+ [將資料新增至來源資料庫](#zero-etl.add-data-rds)
+ [在 Amazon Redshift 中查詢您的 Amazon RDS 資料。](#zero-etl.query-data-redshift)
+ [RDS 與 Amazon Redshift 資料庫之間的資料類型差異](#zero-etl.data-type-mapping)
+ [RDS for PostgreSQL 的 DDL 操作](#zero-etl.ddl-postgres)

## 建立目標資料庫
<a name="zero-etl.create-db"></a>

在建立整合之後，您必須在目標資料倉儲中建立資料庫，然後才能開始將資料複寫到 Amazon Redshift。此資料庫必須包含整合識別符的參考。您可以使用 Amazon Redshift 主控台或查詢編輯器第 2 版來建立資料庫。

如需建立目的地資料庫的指示，請參閱[在 Amazon Redshift 中建立目的地資料庫](https://docs.aws.amazon.com/redshift/latest/mgmt/zero-etl-using.creating-db.html#zero-etl-using.create-db)。

## 將資料新增至來源資料庫
<a name="zero-etl.add-data-rds"></a>

設定整合之後，您可以將要複寫至資料倉儲的資料填入來源 RDS 資料庫。

**注意**  
Amazon RDS 與目標分析倉儲中的資料類型之間存在差異。如需資料類型映射的資料表，請參閱 [RDS 與 Amazon Redshift 資料庫之間的資料類型差異](#zero-etl.data-type-mapping)。

首先，使用您選擇的 MySQL 用戶端連線到來源資料庫。如需說明，請參閱[連線至您的 MySQL 資料庫執行個體](USER_ConnectToInstance.md)。

然後，建立資料表並插入一列範例資料。

**重要**  
請確定資料表具有主索引鍵。否則，無法將其複寫到目標資料倉儲。

**RDS for MySQL**

下列範例使用 [MySQL Workbench 公用程式](https://dev.mysql.com/downloads/workbench/)。

```
CREATE DATABASE {{my_db}};

USE {{my_db}};

CREATE TABLE {{books_table}} (ID int NOT NULL, Title VARCHAR(50) NOT NULL, Author VARCHAR(50) NOT NULL,
Copyright INT NOT NULL, Genre VARCHAR(50) NOT NULL, PRIMARY KEY (ID));

INSERT INTO {{books_table}} VALUES (1, 'The Shining', 'Stephen King', 1977, 'Supernatural fiction');
```



**RDS for PostgreSQL**

下列範例使用 `[psql](https://www.postgresql.org/docs/current/app-psql.html)` PostgreSQL 互動式終端機。連線至資料庫時，請包含您要複寫的資料庫名稱。

```
psql -h {{mydatabase}}.{{123456789012}}.us-east-2.rds.amazonaws.com -p 5432 -U {{username}} -d {{named_db}};

named_db=> CREATE TABLE {{books_table}} (ID int NOT NULL, Title VARCHAR(50) NOT NULL, Author VARCHAR(50) NOT NULL,
Copyright INT NOT NULL, Genre VARCHAR(50) NOT NULL, PRIMARY KEY (ID));

named_db=> INSERT INTO {{books_table}} VALUES (1, 'The Shining', 'Stephen King', 1977, 'Supernatural fiction');
```

**RDS for Oracle**

下列範例使用 SQL\*Plus 連線至 RDS for Oracle 資料庫。

```
sqlplus '{{user_name}}@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST={{dns_name}})(PORT={{port}}))(CONNECT_DATA=(SID={{database_name}})))'

SQL> CREATE TABLE {{books_table}} (ID int NOT NULL, Title VARCHAR(50) NOT NULL, Author VARCHAR(50) NOT NULL,
Copyright INT NOT NULL, Genre VARCHAR(50) NOT NULL, PRIMARY KEY (ID));

SQL> INSERT INTO {{books_table}} VALUES (1, 'The Shining', 'Stephen King', 1977, 'Supernatural fiction');
```

## 在 Amazon Redshift 中查詢您的 Amazon RDS 資料。
<a name="zero-etl.query-data-redshift"></a>

將資料新增至 RDS 資料庫後，資料會複寫至目的地資料庫，並準備好進行查詢。

**查詢複製的資料**

1. 導覽至 Amazon Redshift 主控台，然後從左側導覽窗格中選擇**查詢編輯器第 2 版**。

1. 連線到您的叢集或工作群組，然後從下拉式功能表中選擇您已從整合中建立的目的地資料庫 (在此範例中為 **destination\_database**)。如需建立目的地資料庫的指示，請參閱[在 Amazon Redshift 中建立目的地資料庫](https://docs.aws.amazon.com/redshift/latest/mgmt/zero-etl-using.creating-db.html#zero-etl-using.create-db)。

1. 使用 SELECT 陳述式查詢您的資料。在此範例中，您可以執行下列命令，從您在來源 RDS 資料庫中建立的資料表中選取所有資料：

   ```
   SELECT * from {{my_db}}."{{books_table}}";
   ```  
![在查詢編輯器中執行 SELECT 陳述式。結果是新增至 Amazon RDS 資料庫的單一範例資料列。](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/zero-etl-redshift-editor.png)
   + `{{my_db}}` 是 RDS 資料庫結構描述名稱。
   + `{{books_table}}` 是 RDS 資料表名稱。

您也可以使用命令列用戶端查詢資料。例如：

```
destination_database=# select * from {{my_db}}."{{books_table}}";

 ID |       Title |        Author |   Copyright |                  Genre |  txn_seq |  txn_id
----+–------------+---------------+-------------+------------------------+----------+--------+
  1 | The Shining |  Stephen King |        1977 |   Supernatural fiction |        2 |   12192
```

**注意**  
如需區分大小寫，請針對結構描述、資料表和資料欄名稱使用雙引號 (" ")。如需詳細資訊，請參閱 [enable\_case\_sensitive\_identifier](https://docs.aws.amazon.com/redshift/latest/dg/r_enable_case_sensitive_identifier.html)。

## RDS 與 Amazon Redshift 資料庫之間的資料類型差異
<a name="zero-etl.data-type-mapping"></a>

下表顯示 RDS for MySQL、RDS for PostgreSQL 和 RDS for Oracle 的映射資料類型與對應目的地資料類型。*Amazon RDS 目前僅支援這些資料類型進行零 ETL 整合。*

如果來源資料庫中的資料表包含不受支援的資料類型，則資料表不同步，而且目的地目標無法取用該資料表。從來源到目標的串流會繼續進行，但是無法使用其中資料類型不受支援的資料表。若要修正資料表並使其可在目標目的地中使用，您必須手動還原重大變更，然後執行 `[ALTER DATABASE...INTEGRATION REFRESH](https://docs.aws.amazon.com/redshift/latest/dg/r_ALTER_DATABASE.html)` 以重新整理整合。

**注意**  
您無法重新整理與 Amazon SageMaker 資料湖倉的零 ETL 整合。相反地，請刪除並嘗試再次建立整合。

**Topics**
+ [RDS for MySQL](#zero-etl.data-type-mapping-mysql)
+ [RDS for PostgreSQL](#zero-etl.data-type-mapping-postgres)
+ [RDS for Oracle](#zero-etl.data-type-mapping-oracle)

### RDS for MySQL
<a name="zero-etl.data-type-mapping-mysql"></a>


| RDS for MySQL 資料類型 | 目標資料類型  | Description  | 限制 | 
| --- | --- | --- | --- | 
| INT  | INTEGER | 帶正負號的 4 位元組整數 | 無 | 
| SMALLINT | SMALLINT | 帶正負號的 2 位元組整數 | 無 | 
| TINYINT | SMALLINT | 帶正負號的 2 位元組整數 | 無 | 
| MEDIUMINT | INTEGER | 帶正負號的 4 位元組整數 | 無 | 
| BIGINT | BIGINT | 帶正負號的 8 位元組整數 | 無 | 
| INT UNSIGNED | BIGINT | 帶正負號的 8 位元組整數 | 無 | 
| TINYINT UNSIGNED | SMALLINT | 帶正負號的 2 位元組整數 | 無 | 
| MEDIUMINT UNSIGNED | INTEGER | 帶正負號的 4 位元組整數 | 無 | 
| BIGINT UNSIGNED | DECIMAL(20,0) | 可選擇精確度 (有效位數) 的精確數值 | 無 | 
| DECIMAL(p,s) = NUMERIC(p,s) | DECIMAL(p,s) | 可選擇精確度 (有效位數) 的精確數值 | 不支援大於 38 的精確度和大於 37 的小數位數 | 
| DECIMAL(p,s) UNSIGNED = NUMERIC(p,s) UNSIGNED | DECIMAL(p,s) | 可選擇精確度 (有效位數) 的精確數值 | 不支援大於 38 的精確度和大於 37 的小數位數 | 
| FLOAT4/REAL | REAL | 單精度浮點數 | 無 | 
| FLOAT4/REAL UNSIGNED | REAL | 單精度浮點數 | 無 | 
| DOUBLE/REAL/FLOAT8 | DOUBLE PRECISION | 雙精度浮點數 | 無 | 
| DOUBLE/REAL/FLOAT8 UNSIGNED | DOUBLE PRECISION | 雙精度浮點數 | 無 | 
| BIT(n) | VARBYTE(8) | 可變長度二進位值 | 無 | 
| BINARY(n) | VARBYTE(n) | 可變長度二進位值 | 無 | 
| VARBINARY(n) | VARBYTE(n) | 可變長度二進位值 | 無 | 
| CHAR(n) | VARCHAR(n) | 可變長度字串值 | 無 | 
| VARCHAR(n) | VARCHAR(n) | 可變長度字串值 | 無 | 
| TEXT | VARCHAR(65535) | 可變長度字串值最多 65,535 個字元 | 無 | 
| TINYTEXT | VARCHAR(255) | 可變長度字串值最多 255 個字元 | 無 | 
| MEDIUMTEXT | VARCHAR(65535) | 可變長度字串值最多 65,535 個字元 | 無 | 
| LONGTEXT | VARCHAR(65535) | 可變長度字串值最多 65,535 個字元 | 無 | 
| ENUM | VARCHAR(1020) | 可變長度字串值最多 1,020 個字元 | 無 | 
| SET | VARCHAR(1020) | 可變長度字串值最多 1,020 個字元 | 無 | 
| DATE | DATE | 日曆日期 (年、月、日) | 無 | 
| DATETIME | TIMESTAMP | 日期和時間 (未使用時區) | 無 | 
| TIMESTAMP(p) | TIMESTAMP | 日期和時間 (未使用時區) | 無 | 
| TIME | VARCHAR(18) | 可變長度字串值最多 18 個字元 | 無 | 
| YEAR | VARCHAR(4) | 可變長度字串值最多 4 個字元 | 無 | 
| JSON | SUPER | 半結構化資料或文件作為值 | 無 | 

### RDS for PostgreSQL
<a name="zero-etl.data-type-mapping-postgres"></a>

RDS for PostgreSQL 的零 ETL 整合不支援自訂資料類型或擴充功能建立的資料類型。


| RDS for PostgreSQL 資料類型 | Amazon Redshift 資料類型 | Description | 限制 | 
| --- | --- | --- | --- | 
| 陣列 | SUPER | 半結構化資料或文件作為值 | 無 | 
| bigint | BIGINT | 帶正負號的 8 位元組整數 | 無 | 
| bigserial | BIGINT | 帶正負號的 8 位元組整數 | 無 | 
| bit varying(n) | VARBYTE(n) | 可變長度字串值最多 16,777,216 個位元組 | 無 | 
| bit(n) | VARBYTE(n) | 可變長度字串值最多 16,777,216 個位元組 | 無 | 
| bit、bit varying | VARBYTE(16777216) | 可變長度字串值最多 16,777,216 個位元組 | 無 | 
| boolean | BOOLEAN | 邏輯布林值 (true/false) | 無 | 
| bytea | VARBYTE(16777216) | 可變長度字串值最多 16,777,216 個位元組 | 無 | 
| char(n) | CHAR(n) | 固定長度字元字串值最多 65,535 個位元組 | 無 | 
| char varying(n) | VARCHAR(65535) | 可變長度字元字串值最多 65,535 個字元 | 無 | 
| cid | BIGINT | 帶正負號的 8 位元組整數 | 無 | 
| cidr | VARCHAR(19) | 可變長度字串值最多 19 個字元 | 無 | 
| date | DATE | 日曆日期 (年、月、日) | 不支援大於 294,276 A.D. 的值 | 
| double precision | DOUBLE PRECISION | 雙精度浮點數 | 未完全支援的低於正常值 | 
| gtsvector | VARCHAR(65535) | 可變長度字串值最多 65,535 個字元 | 無 | 
| inet | VARCHAR(19) | 可變長度字串值最多 19 個字元 | 無 | 
| integer | INTEGER | 帶正負號的 4 位元組整數 | 無 | 
| int2vector | SUPER | 半結構化資料或文件作為值。 | 無 | 
| 間隔 | INTERVAL | 持續時間 | 僅支援指定 year to month 或 day to second 限定詞的 INTERVAL 類型。 | 
| json | SUPER | 半結構化資料或文件作為值 | 無 | 
| jsonb | SUPER | 半結構化資料或文件作為值 | 無 | 
| jsonpath | VARCHAR(65535) | 可變長度字串值最多 65,535 個字元 | 無 | 
| macaddr | VARCHAR(17) | 可變長度字串值最多 17 個字元 | 無 | 
| macaddr8 | VARCHAR(23) | 可變長度字串值最多 23 個字元 | 無 | 
| money | DECIMAL(20,3) | 貨幣金額 | 無 | 
| name | VARCHAR(64) | 可變長度字串值最多 64 個字元 | 無 | 
| numeric(p,s) | DECIMAL(p,s) | 使用者定義的固定精確度值 |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/zero-etl.querying.html)  | 
| oid | BIGINT | 帶正負號的 8 位元組整數 | 無 | 
| 類別向量 | SUPER | 半結構化資料或文件作為值。 | 無 | 
| pg\_brin\_bloom\_summary | VARCHAR(65535) | 可變長度字串值最多 65,535 個字元 | 無 | 
| pg\_dependencies | VARCHAR(65535) | 可變長度字串值最多 65,535 個字元 | 無 | 
| pg\_lsn | VARCHAR(17) | 可變長度字串值最多 17 個字元 | 無 | 
| pg\_mcv\_list | VARCHAR(65535) | 可變長度字串值最多 65,535 個字元 | 無 | 
| pg\_ndistinct | VARCHAR(65535) | 可變長度字串值最多 65,535 個字元 | 無 | 
| pg\_node\_tree | VARCHAR(65535) | 可變長度字串值最多 65,535 個字元 | 無 | 
| pg\_snapshot | VARCHAR(65535) | 可變長度字串值最多 65,535 個字元 | 無 | 
| real | REAL | 單精度浮點數 | 未完全支援的低於正常值 | 
| refcursor | VARCHAR(65535) | 可變長度字串值最多 65,535 個字元 | 無 | 
| smallint | SMALLINT | 帶正負號的 2 位元組整數 | 無 | 
| smallserial | SMALLINT | 帶正負號的 2 位元組整數 | 無 | 
| serial | INTEGER | 帶正負號的 4 位元組整數 | 無 | 
| text | VARCHAR(65535) | 可變長度字串值最多 65,535 個字元 | 無 | 
| tid | VARCHAR(23) | 可變長度字串值最多 23 個字元 | 無 | 
| 不含時區的時間 [(p)] | VARCHAR(19) | 可變長度字串值最多 19 個字元 | 不支援 Infinity 和 -Infinity 值 | 
| 含時區的時間 [(p)] | VARCHAR(22) | 可變長度字串值最多 22 個字元 | 不支援 Infinity 和 -Infinity 值 | 
| 不含時區的時間戳記 [(p)] | TIMESTAMP | 日期和時間 (未使用時區) |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/zero-etl.querying.html)  | 
| 含時區的時間戳記 [(p)] | TIMESTAMPTZ | 日期和時間 (包含時區) |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/zero-etl.querying.html)  | 
| tsquery | VARCHAR(65535) | 可變長度字串值最多 65,535 個字元 | 無 | 
| tsvector | VARCHAR(65535) | 可變長度字串值最多 65,535 個字元 | 無 | 
| txid\_snapshot | VARCHAR(65535) | 可變長度字串值最多 65,535 個字元 | 無 | 
| uuid | VARCHAR(36) | 可變長度 36 個字元字串 | 無 | 
| xid | BIGINT | 帶正負號的 8 位元組整數 | 無 | 
| xid8 | DECIMAL(20, 0) | 固定精確度小數位數 | 無 | 
| xml | VARCHAR(65535) | 可變長度字串值最多 65,535 個字元 | 無 | 

### RDS for Oracle
<a name="zero-etl.data-type-mapping-oracle"></a>

**不受支援的資料類型**

Amazon Redshift 不支援下列 RDS for Oracle 資料類型：
+ `ANYDATA`
+ `BFILE`
+ `REF`
+ `ROWID`
+ `UROWID`
+ `VARRAY`
+ `SDO_GEOMETRY`
+ 使用者定義的資料類型

**資料類型差異**

下表顯示當 RDS for Oracle 是來源且 Amazon Redshift 是目標時，影響零 ETL 整合的資料類型差異。


| RDS for Oracle 資料類型 | Amazon Redshift 資料類型 | 
| --- | --- | 
| BINARY\_FLOAT | FLOAT4 | 
| BINARY\_DOUBLE | FLOAT8 | 
| BINARY | VARCHAR (長度) | 
| FLOAT (P) | 如果精確度 =< 24，則為 FLOAT4。<br />如果精確度 > 24，則為 FLOAT8。 | 
| NUMBER (P,S) | 如果小數位數 => 0 且 =< 37，則為 NUMERIC (p,s)。<br />如果小數位數 => 38 且 =< 127，則為 VARCHAR (Length)。<br />如果小數位數為 0：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/zero-etl.querying.html)<br />如果小數位數小於 0，則為 INT8。 | 
| DATE | 如果小數位數為 => 0 和 =< 6 (取決於 Redshift 目標欄類型)，則為以下其中之一：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/zero-etl.querying.html)<br />如果小數位數 => 7 且 =< 9，則為 VARCHAR (37)。 | 
| INTERVAL\_YEAR TO MONTH | 如果長度是 1–65,535，則為 VARCHAR (長度為位元組)。<br />如果長度是 65,536–2,147,483,647，則為 VARCHAR (65535)。 | 
| INTERVAL\_DAY TO SECOND | 如果長度是 1–65,535，則為 VARCHAR (長度為位元組)。<br />如果長度是 65,536–2,147,483,647，則為 VARCHAR (65535)。 | 
| TIMESTAMP | 如果小數位數為 => 0 和 =< 6 (取決於 Redshift 目標欄類型)，則為以下其中之一：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/zero-etl.querying.html)<br />如果小數位數 => 7 且 =< 9，則為 VARCHAR (37)。 | 
| TIMESTAMP WITH TIME ZONE | 如果長度是 1–65,535，則為 VARCHAR (長度為位元組)。<br />如果長度是 65,536–2,147,483,647，則為 VARCHAR (65535)。 | 
| TIMESTAMP WITH LOCAL TIME ZONE | 如果長度是 1–65,535，則為 VARCHAR (長度為位元組)。<br />如果長度是 65,536–2,147,483,647，則為 VARCHAR (65535)。 | 
| CHAR | 如果長度是 1–65,535，則為 VARCHAR (長度為位元組)。<br />如果長度是 65,536–2,147,483,647，則為 VARCHAR (65535)。 | 
| VARCHAR2 | 當長度大於 4,000 個位元組時，則為 VARCHAR (LOB 大小上限)。LOB 大小上限不能超過 63 KB。Amazon Redshift 不支援大於 64 KB 的 VARCHAR。<br />當長度為 4,000 個位元組或更少時，則為 VARCHAR (長度為位元組)。 | 
| NCHAR | 如果長度是 1–65,535，則為 NVARCHAR (長度為位元組)。<br />如果長度是 65,536–2,147,483,647，則為 NVARCHAR (65535)。 | 
| NVARCHAR2 | 當長度大於 4,000 個位元組時，則為 NVARCHAR (LOB 大小上限)。LOB 大小上限不能超過 63 KB。Amazon Redshift 不支援大於 64 KB 的 VARCHAR。<br />當長度為 4,000 個位元組或更少時，則為 NVARCHAR (長度為位元組)。 | 
| RAW | VARCHAR (長度) | 
| REAL | FLOAT8 | 
| BLOB | VARCHAR (LOB 大小上限 \* 2) <br />LOB 大小上限不能超過 31 KB。Amazon Redshift 不支援大於 64 KB 的 VARCHAR。 | 
| CLOB | VARCHAR (LOB 大小上限) <br />LOB 大小上限不能超過 63 KB。Amazon Redshift 不支援大於 64 KB 的 VARCHAR。 | 
| NCLOB | NVARCHAR (LOB 大小上限) <br />LOB 大小上限不能超過 63 KB。Amazon Redshift 不支援大於 64 KB 的 VARCHAR。 | 
| LONG | VARCHAR (LOB 大小上限) <br />LOB 大小上限不能超過 63 KB。Amazon Redshift 不支援大於 64 KB 的 VARCHAR。 | 
| LONG RAW | VARCHAR (LOB 大小上限 \* 2) <br />LOB 大小上限不能超過 31 KB。Amazon Redshift 不支援大於 64 KB 的 VARCHAR。 | 
| XMLTYPE | VARCHAR (LOB 大小上限) <br />LOB 大小上限不能超過 63 KB。Amazon Redshift 不支援大於 64 KB 的 VARCHAR。 | 

## RDS for PostgreSQL 的 DDL 操作
<a name="zero-etl.ddl-postgres"></a>

Amazon Redshift 衍生自 PostgreSQL，因此由於其常見的 PostgreSQL 架構，它與 RDS for PostgreSQL 共用多項功能。零 ETL 整合利用這些相似性，簡化從 RDS for PostgreSQL 到 Amazon Redshift 的資料複寫，依名稱映射資料庫，並使用共用資料庫、結構描述和資料表結構。

管理 RDS for PostgreSQL 零 ETL 整合時，請考慮下列要點：
+ 隔離是在資料庫層級管理。
+ 複寫會在資料庫層級發生。
+ RDS for PostgreSQL 資料庫會依名稱映射至 Amazon Redshift 資料庫，如果原始資料庫重新命名，資料會流向對應的重新命名 Redshift 資料庫。

雖然兩者相似，但 Amazon Redshift 和 RDS for PostgreSQL 仍有重要的差異。下列各節概述常見 DDL 操作的 Amazon Redshift 系統回應。

**Topics**
+ [資料庫操作](#zero-etl.ddl-postgres-database)
+ [結構描述操作](#zero-etl.ddl-postgres-schema)
+ [資料表操作](#zero-etl.ddl-postgres-table)

### 資料庫操作
<a name="zero-etl.ddl-postgres-database"></a>

下表顯示資料庫 DDL 操作的系統回應。


| DDL 操作 | Redshift 系統回應 | 
| --- | --- | 
| CREATE DATABASE | 無操作 | 
| DROP DATABASE | Amazon Redshift 會捨棄目標 Redshift 資料庫中的所有資料。 | 
| RENAME DATABASE | Amazon Redshift 會捨棄原始目標資料庫中的所有資料，並重新同步新目標資料庫中的資料。如果新的資料庫不存在，您必須手動建立資料庫。如需指示，請參閱[在 Amazon Redshift 中建立目的地資料庫](https://docs.aws.amazon.com/redshift/latest/mgmt/zero-etl-using.creating-db.html#zero-etl-using.create-db)。 | 

### 結構描述操作
<a name="zero-etl.ddl-postgres-schema"></a>

下表顯示結構描述 DDL 操作的系統回應。


| DDL 操作 | Redshift 系統回應 | 
| --- | --- | 
| CREATE SCHEMA | 無操作 | 
| DROP SCHEMA | Amazon Redshift 會捨棄原始結構描述。 | 
| RENAME SCHEMA | Amazon Redshift 會捨棄原始結構描述，然後重新同步新結構描述中的資料。 | 

### 資料表操作
<a name="zero-etl.ddl-postgres-table"></a>

下表顯示資料表 DDL 操作的系統回應。


| DDL 操作 | Redshift 系統回應 | 
| --- | --- | 
| CREATE TABLE | Amazon Redshift 會建立資料表。<br />有些操作會導致資料表建立失敗，例如在沒有主索引鍵的情況下建立資料表，或執行宣告式分割。如需詳細資訊，請參閱[限制](zero-etl.md#zero-etl.reqs-lims)及[針對 Amazon RDS 零 ETL 整合進行疑難排解](zero-etl.troubleshooting.md)。 | 
| DROP TABLE | Amazon Redshift 會捨棄資料表。 | 
| TRUNCATE TABLE | Amazon Redshift 會截斷資料表。 | 
| ALTER TABLE (RENAME...) | Amazon Redshift 會重新命名資料表或資料欄。 | 
| ALTER TABLE (SET SCHEMA) | Amazon Redshift 會捨棄原始結構描述中的資料表，然後重新同步新結構描述中的資料表。 | 
| ALTER TABLE (ADD PRIMARY KEY) | Amazon Redshift 會新增主索引鍵並重新同步資料表。 | 
| ALTER TABLE (ADD COLUMN) | Amazon Redshift 會將資料欄新增至資料表。 | 
| ALTER TABLE (DROP COLUMN) | 如果資料欄不是主索引鍵資料欄，Amazon Redshift 會加以捨棄。否則，它會重新同步資料表。 | 
| ALTER TABLE (SET LOGGED/UNLOGGED) | 如果您將資料表變更為已記錄，Amazon Redshift 會重新同步資料表。如果您將資料表變更為未記錄，Amazon Redshift 會捨棄資料表。 | 