この記事では、パイプラインでコピー アクティビティを使用して PostgreSQL との間でデータをコピーする方法について説明します。
サポートされている構成
コピー アクティビティの下の各タブの構成については、それぞれ次のセクションを参照してください。
全般
全般 設定 ガイダンスを参照して、全般 設定タブを構成します。
出典
ソース タブに移動して、コピーアクティビティの元を設定します。 詳細な構成については、次の内容を参照してください。
必要なプロパティ は次の3つです。
- 接続: 接続の一覧から PostgreSQL 接続を選択します。 接続が存在しない場合は、新しい PostgreSQL 接続を作成します。
- 接続の種類: PostgreSQLを選択します。
-
[クエリの使用]: [テーブル] または [クエリ] から選択します。
[テーブル] を選択した場合:
テーブル: データを読み取るテーブルの名前を指定します。 ドロップダウン リストからテーブルを選択するか、[手動で入力] を選択して入力します。
を選択した場合のクエリ:
クエリ: データを読み取るカスタム SQL クエリを指定します。
手記
スキーマ名とテーブル名は、大文字と小文字が区別されます。 クエリでは、それらを "" (二重引用符) で囲みます。
[詳細設定 で、次のフィールドを指定できます。
- クエリタイムアウト (分): コマンドの実行を終了してエラーを生成するまでの待機時間を指定します。既定値は 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 (precision <= 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 | はい | / |
| クエリ を使用する | データを読み取る方法。 テーブル |
• [テーブル] • [クエリ] |
はい | • 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 |