在複製活動中設定 PostgreSQL

本文說明如何在管線中利用複製活動來從 PostgreSQL 複製資料。

支援的組態

若要設定複製活動下的每個標籤頁,請分別前往下述各個部分。

一般

請參閱一般設定指引,以設定一般設定索引標籤。

Source

移至 [來源] 索引標籤以設定複製活動來源。 如需詳細的組態,請參閱下列內容。

顯示來源索引標籤和屬性清單的螢幕擷取畫面。

需要以下三個屬性:

  • 連線:從連線清單中選取 PostgreSQL 連線。 如果沒有連線,請建立新的 PostgreSQL 連線。
  • 連線類型:選取 PostgreSQL。
  • 使用查詢:從 表格 或 查詢中選取。
    • 如果您選取 [表格]:

      • 表格:指定要讀取資料的表格名稱。 從下拉式清單中選取表格,或選取 手動輸入 以自行輸入。

        螢幕擷取畫面顯示使用查詢功能 - 資料表。

    • 如果您選取 [查詢]:

      • 查詢:指定要讀取資料的自訂 SQL 查詢。

        螢幕擷取畫面顯示使用查詢 - 查詢。

        注意

        模式名稱和表格名稱區分大小寫。 在查詢中將它們括在 “” (雙引號) 中。

在 [進階底下,您可以指定下列字段:

  • 查詢逾時(分鐘):指定終止嘗試執行命令併產生錯誤之前的等候時間,預設值為 120 分鐘。 如果為此屬性設定參數,允許的值是時間範圍,例如 “02:00:00” (120 分鐘)。 如需詳細資訊,請參閱 CommandTimeout。
  • 其他數據行:新增其他數據行來儲存來源檔案的相對路徑或靜態值。 表達式受到後者的支持。

目的地

以下屬性在複製活動的目的地標籤下支援 PostgreSQL 的使用。

需要下列屬性:

  • 連線:從連線清單中選取 PostgreSQL 連線。
  • 連線類型:選取 PostgreSQL。
  • 數據表:指定要寫入資料的數據表名稱。 從下拉式清單中選取數據表,或 選取 [手動輸入 ] 以輸入架構和數據表名稱。

在 [進階底下,您可以指定下列字段:

  • 預複製腳本:在每次執行中將資料寫入 PostgreSQL 前,先指定一個 SQL 查詢以執行複製活動。 您可以使用此屬性來清除預先載入的資料。
  • 寫入批次超時:指定批次插入作業完成之前的等待時間。允許的值是時間跨度。 預設值為 00:02:00。
  • 撰寫批次大小:指定每批次要插入 PostgreSQL 資料表的列數。 允許的值是整數(數據列數目)。 當目前批次達到寫入批次大小時,會建立新的批次。 預設值為 50000。
  • 並行連線數上限:指定在活動執行期間,與資料存放區建立的並行連線數上限。 僅在想要限制並行連線時,才需要指定值。 允許的值為整數。

映射

如需設定 對應索引標籤 的配置,請參閱 在 [對應] 索引標籤下的對應設定。

設定

如需 [設定] 索引標籤配置,請移至 [設定] 索引標籤下方設定其他選項。

PostgreSQL 的資料類型對應

從 PostgreSQL 複製資料時,從 PostgreSQL 資料類型到服務內部使用的過渡資料類型,皆會使用下列對應。

PostgreSQL 資料類型 過渡期服務資料類型
smallint Int16
整數 Int32
Bigint Int64
小數(精度 <= 28) Decimal
十進位(精度 > 28) 不支援
numeric Decimal
real Single
雙重 Double
小劇集 Int16
連載的 Int32
大劇集 Int64
money Decimal
字元(n) 繩子
Varchar(n) 繩子
收發簡訊 繩子
比蒂亞 Byte[]
時間戳記 DateTime
具有時區的時間戳 DateTime
date DateTime
時間 TimeSpan
具有時區的時間 DateTimeOffset
間隔 TimeSpan
布林值 布林值
學分 繩子
線條 繩子
LSEG 繩子
箱 繩子
路徑 繩子
多邊形 繩子
圈 繩子
CIDR 繩子
inet 繩子
麥卡德爾 繩子
MacAddr8 繩子
TSvector 繩子
tsquery 繩子
uuid Guid
JSON 繩子
jsonb 繩子
陣列 繩子
bit Byte[]
有點變化 Byte[]
Xml 繩子
整數[] 繩子
text[] 繩子
數值[] 繩子
日期[] 繩子
範圍 繩子
BPCHAR 繩子

在將資料複製到 PostgreSQL 時,會從服務內部使用的臨時資料型態,使用以下映射到 PostgreSQL 資料型態。

臨時資料型態 PostgreSQL 資料類型
Int16 smallint
Int32 整數
Int64 Bigint
Single real
Double 雙精度
Decimal 數字,金錢
布林值 布林值
繩子 text、char(n)、varchar(n)、name、citext、json、jsonb、xml、inet、cidr、macaddr、tsvector、tsquery、point、line、lseg、box、path、polygon、circle、int4range、int8range、numrange、daterange、tsrange、tstzrange、整數[]
位元組陣列 bytea、bit(n)、varbit
Date date
TimeSpan 時間、間隔
DateTimeOffset 時間點帶時區,帶時區的時間戳
DateTime 時間戳記
GUID uuid

數據表摘要

下表包含有關 PostgreSQL 中複製活動的詳細資訊。

來源資訊

Name 描述 值 必需 JSON 腳本屬性
Connection 您與源資料存放區的連線。 < 您的PostgreSQL連線 > Yes 連接
連線類型 您的來源連線類型。 PostgreSQL Yes /
使用查詢 讀取資料的方式。 套用 表格 以從指定的表格讀取資料,或套用 查詢以 使用 SQL 查詢讀取資料。 • 表格
• 查詢
Yes • typeProperties (在 typeProperties - > - source 下)
  - 架構
  -桌子
• 查詢
查詢逾時時間(分鐘) 終止嘗試執行命令並產生錯誤之前的等候時間,預設值為120分鐘。 如果為此屬性設定參數,允許的值是時間範圍,例如 “02:00:00” (120 分鐘)。 如需詳細資訊,請參閱 CommandTimeout。 timespan 否 queryTimeout
其他數據行 新增其他數據行以儲存來源檔案的相對路徑或靜態值。 表達式受到後者的支持。 •名字
•價值
否 額外欄位:
•名字
•價值

目的地資訊

Name 描述 值 必需 JSON 腳本屬性
Connection 您與目標資料存放區的連線。 < 您的PostgreSQL連線 > Yes 連接
表 用來寫入資料的表格名稱。 從下拉式清單中選取數據表,或 選取 [手動輸入 ] 以輸入架構和數據表名稱。 < 資料表名稱 > Yes typeProperties:
• 架構
• 資料表
預先複製腳本 複製活動的 SQL 查詢會在每次執行中寫入資料到 PostgreSQL 前執行。 您可以使用此屬性來清除預先載入的資料。 <複製前指令碼> 否 preCopyScript
寫入行為 定義了寫入行為。 插入(預設) 否 writeBehavior
寫入批次大小 每批次要插入到 PostgreSQL 資料表的列數。 允許的值是整數(數據列數目)。 < 整數 >
50000 (預設值)
否 writeBatchSize
寫入批次逾時 在逾時前等待批次插入作業完成的時間。允許的值為時間範圍。 < 時間跨度 >
00:02:00 (預設值)
否 writeBatchTimeout
並行連線數上限 在活動運行期間,與資料存放區建立的並行連線的上限值。 允許的值為整數。 < 整數 > 否 maxConcurrentConnections(最大並發連線數)