コピー アクティビティで PostgreSQL を構成する

この記事では、パイプラインでコピー アクティビティを使用して PostgreSQL との間でデータをコピーする方法について説明します。

サポートされている構成

コピー アクティビティの下の各タブの構成については、それぞれ次のセクションを参照してください。

全般

全般 設定 ガイダンスを参照して、全般 設定タブを構成します。

出典

ソース タブに移動して、コピーアクティビティの元を設定します。 詳細な構成については、次の内容を参照してください。

ソース タブとプロパティの一覧を示すスクリーンショット。

必要なプロパティ は次の3つです。

  • 接続: 接続の一覧から PostgreSQL 接続を選択します。 接続が存在しない場合は、新しい PostgreSQL 接続を作成します。
  • 接続の種類: PostgreSQLを選択します。
  • [クエリの使用]: [テーブル] または [クエリ] から選択します。
    • [テーブル] を選択した場合:

      • テーブル: データを読み取るテーブルの名前を指定します。 ドロップダウン リストからテーブルを選択するか、[手動で入力] を選択して入力します。

        クエリの使用 - テーブルを示すスクリーンショット。

    • を選択した場合のクエリ:

      • クエリ: データを読み取るカスタム SQL クエリを指定します。

        「Use query - クエリ」を示すスクリーンショット。

        手記

        スキーマ名とテーブル名は、大文字と小文字が区別されます。 クエリでは、それらを "" (二重引用符) で囲みます。

[詳細設定 で、次のフィールドを指定できます。

  • クエリタイムアウト (分): コマンドの実行を終了してエラーを生成するまでの待機時間を指定します。既定値は 120 分です。 このプロパティにパラメーターが設定されている場合、使用できる値は"02:00:00" (120 分) などの期間です。 詳細については、「CommandTimeout」を参照してください。
  • 追加の列: ソース ファイルの相対パスまたは静的な値を格納する追加のデータ列を追加します。 後者では式がサポートされています。

行き先

コピー アクティビティの [宛先] タブの PostgreSQL では、次のプロパティがサポートされています。

次のプロパティは必須です。

  • 接続: 接続の一覧から PostgreSQL 接続を選択します。
  • 接続の種類: PostgreSQLを選択します。
  • テーブル: データを書き込むテーブルの名前を指定します。 ドロップダウン リストからテーブルを選択するか、手動 で Enter キーを押してスキーマとテーブル名を入力します。

[詳細設定 で、次のフィールドを指定できます。

  • コピー前スクリプト: 各実行で PostgreSQL にデータを書き込む前に実行するコピー アクティビティの SQL クエリを指定します。 このプロパティを使用して、事前に読み込まれたデータをクリーンアップできます。
  • 書き込みバッチ タイムアウト: バッチ挿入操作がタイムアウトするまでの待機時間を指定します。使用できる値は timespan です。 既定値は 00:02:00 です。
  • 書き込みバッチ サイズ: バッチごとに PostgreSQL テーブルに挿入する行数を指定します。 使用できる値は整数 (行数) です。 現在のバッチが書き込みバッチ サイズに達すると、新しいバッチが作成されます。 既定値は 50000 です。
  • 最大コンカレント接続: アクティビティの実行中にデータ ストアに確立される同時接続の上限を指定します。 同時接続を制限する場合にのみ値を指定します。 使用できる値は整数です。

マッピング

マッピング タブの構成については、「マッピングタブでマッピングを構成する」の を参照してください。

設定

設定 タブの構成については、設定タブのの下で他の設定を構成するに移動します。

PostgreSQL のデータ型マッピング

PostgreSQL からデータをコピーするとき、PostgreSQL のデータ型から、サービスによって内部的に使用される中間データ型への、以下のマッピングが使用されます。

PostgreSQL データ型 中間サービス データ型
smallint (スモールイント) Int16
整数 Int32
bigint Int64
decimal(精度 <= 28) Decimal
decimal(精度>28) サポートされていない
numeric Decimal
real シングル
double Double
スモールシリアル Int16
シリアル Int32
ビッグシリアル Int64
お金 Decimal
char(n) 糸
varchar(n) 糸
SMS 送信 糸
Bytea Byte[]
timestamp DateTime
タイム ゾーンを含むタイムスタンプ DateTime
日付 DateTime
時間 TimeSpan
タイムゾーン付きの時間 DateTimeOffset
サイクル間隔 TimeSpan
boolean ブール値
ポイント 糸
線 糸
lseg 糸
ボックス 糸
パス 糸
多角形 糸
circle 糸
CIDR 糸
Inet 糸
macaddr 糸
macaddr8 糸
tsvector 糸
tsquery 糸
UUID(ユニバーサルユニーク識別子) Guid
Json 糸
jsonb 糸
アレイ 糸
bit Byte[]
ビット可変 Byte[]
XML 糸
整数[] 糸
text[] 糸
数値配列 糸
日付[] 糸
範囲 糸
bpchar 糸

PostgreSQL にデータをコピーする場合、サービスによって内部的に使用される中間データ型から PostgreSQL データ型への次のマッピングが使用されます。

中間データ型 PostgreSQL データ型
Int16 smallint (スモールイント)
Int32 整数
Int64 bigint
シングル real
Double 倍精度
Decimal 数値、金額
ブール値 boolean
糸 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、integer[]
バイト配列 bytea、bit(n)、varbit
日付 日付
TimeSpan 時間・間隔
DateTimeOffset timetz、timestamptz
DateTime timestamp
GUID UUID(ユニバーサルユニーク識別子)

テーブルの概要

次の表に、PostgreSQL のコピー アクティビティの詳細を示します。

ソース情報

名前 説明 価値 必須 JSON スクリプト プロパティ
接続 ソース データ ストアへの接続。 < 使用する PostgreSQL 接続 > はい 接続
接続の種類 ソース接続の種類。 PostgreSQL はい /
クエリ を使用する データを読み取る方法。 テーブル 適用して、指定したテーブルからデータを読み取るか、SQL クエリを使用してデータ 読み取るクエリ を適用します。 • [テーブル]
• [クエリ]
はい • typeProperties (typeProperties ->source)
  - スキーマ
  - テーブル
•クエリ
クエリ タイムアウト (分) コマンドの実行を終了してエラーを生成するまでの待機時間。既定値は 120 分です。 このプロパティにパラメーターが設定されている場合、使用できる値は"02:00:00" (120 分) などの期間です。 詳細については、「CommandTimeout」を参照してください。 時間範囲 いいえ queryTimeout
追加の列 ソース ファイルの相対パスまたは静的値を格納するデータ列を追加します。 後者では式がサポートされています。 •名前
•価値
いいえ additionalColumns:
•名前
•価値

宛先情報

名前 説明 価値 必須 JSON スクリプト プロパティ
接続 宛先データストアへの接続。 < 使用する PostgreSQL 接続 > はい 接続
テーブル データを書き込むテーブルの名前。 ドロップダウン リストからテーブルを選択するか、手動 で Enter キーを押してスキーマとテーブル名を入力します。 < テーブル名 > はい タイププロパティ:
• スキーマ
• テーブル
コピー前スクリプト 各実行で PostgreSQL にデータを書き込む前に実行するコピー アクティビティの SQL クエリ。 このプロパティを使用して、事前に読み込まれたデータをクリーンアップできます。 < ユーザーの事前コピー スクリプト > いいえ preCopyScript
書き込み動作 書き込み動作を定義します。 insert (既定値) いいえ writeBehavior
書き込みバッチ サイズ バッチごとに PostgreSQL テーブルに挿入する行の数。 使用できる値は整数 (行数) です。 < 整数 >
50000 (既定値)
いいえ 書き込みバッチサイズ
バッチ タイムアウト を書き込む バッチ挿入操作が終了してからタイムアウトするまでの待機時間。使用できる値は timespan です。 < Timespan >
00:02:00 (既定値)
いいえ writeBatchTimeout
最大同時接続数 アクティビティの実行中にデータ ストアに確立される同時接続の上限。 使用できる値は整数です。 < 整数 > いいえ maxConcurrentConnections