---
articleId: 80279a18-03cc-4940-bea3-c48eb614add0
slug: data-destination-postgresql
title: 転送先 - PostgreSQL
parentCategoryId: 03f04962-e96f-49cb-9c01-d84d025cc41a
languageCode: ja
---
## 概要
PostgreSQLへデータを転送する設定のDocsです。
## 制約
* 特になし
## 設定項目
### STEP1 基本設定
| 項目名 | 必須 | デフォルト値 | 内容 |
| --- | --- | --- | --- |
| PostgreSQL接続情報 | Yes | - | あらかじめ登録してある接続情報から、今回の転送設定に必要な権限を持つものを選択します。 |
| データベース | Yes | - | 転送先のPostgreSQL上に存在するデータベース名を指定します。|
| スキーマ | Yes | public | 転送先のデータベース内に存在するスキーマ名を指定します。
**スキーマ一覧を読み込む**から一覧を読み込むことも可能です。 |
| テーブル | Yes | - | 転送先のテーブル名を指定します。
入力したテーブル名が存在しない場合は、転送時に新しくテーブルが作成されます。 |
| 転送モード | Yes | - | 転送モードを選択します。詳しくは、[転送モード](/docs/data-destination-postgresql#転送モード)を参照ください。 |
| デフォルトのタイムゾーン | Yes | UTC | `timestamp`型のカラムについて、どのタイムゾーンを用いるかを指定します。 |
### STEP2 詳細設定
| 項目名 | 必須 | デフォルト値 | 詳細 |
| --- | --- | --- | --- |
| 最大リトライ回数 | Yes | 12 | リトライを最大何回まで実行するかを指定します。 |
| リトライ待ち時間(ミリ秒) | Yes | 1000 | リトライ時の待ち時間を指定します。 |
| リトライ待ち時間の最大値(ミリ秒) | Yes | 1800000 | リトライ時の待ち時間の最大値を指定します。 |
| ロード前に実行するSQL | No | - | 転送前に実行されるクエリを記述します。 |
| ロード後に実行するSQL | No | - | 転送後に実行されるクエリを記述します。 |
## 転送モード
| モード | 詳細 |
| --- | --- |
| 追記 (INSERT) | テーブルへの**追記**を行います。
はじめに一時テーブルを生成してそこにデータを投入し、次に一時テーブルから転送先テーブルへのINSERTを行います。
そのため、転送が途中で失敗した際に中途半端なデータが転送先テーブルに残ることがありません。
また、転送先テーブルが存在しない場合は自動的にテーブルを作成します。|
| 追記 (INSERT DIRECT) | テーブルへの**追記**を行います。
一時テーブル等は作成せず、直接転送先テーブルにデータを投入します。
そのため、転送が途中で失敗した際には中途半端な状態のデータが残る場合があります。
また、転送先テーブルが存在しない場合は自動的にテーブルを作成します。 |
| 全件洗い替え (TRUNCATE INSERT) | テーブルの**洗い替え**を行います。
はじめに一時テーブルを生成してそこにデータを投入し、次に一時テーブルから転送先テーブルへのINSERTを行います。
なお、INSERTの直前にDELETEを行うため、洗い替えとなります。
転送先テーブルのindex情報等は**維持されます**。|
| 全件洗い替え (REPLACE) | テーブルの**洗い替え**を行います。
はじめに一時テーブルを生成してそこにデータを投入し、これが成功した場合、転送先のテーブルを削除し一時テーブルの名前を変更します。
転送先テーブルのindex情報等は**失われます**。|
| UPSERT (MERGE) | テーブルの**UPSERT**を行います。
はじめに一時テーブルを生成し、そこにデータをすべて投入します。
次に転送先テーブルに対して、一時テーブルに**マージキー**の値が存在するレコードを更新し、その後**マージキー**の値が存在しないレコードを挿入します。
なお、UPSERT (MERGE)を選択した場合は、マージキーを入力できます。
マージキーには、値の重複がなく、NULL値も持たないカラムを指定してください。|