tPostgresqlOutputの標準プロパティ - Cloud - 8.0

PostgreSQL

Version
Cloud
8.0
Language
日本語
Product
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Real-Time Big Data Platform
Module
Talend Studio
Content
ジョブデザインと開発 > サードパーティーシステム > DBコンポーネント > PostgreSQL
データガバナンス > サードパーティーシステム > DBコンポーネント > PostgreSQL
データクオリティとプレパレーション > サードパーティーシステム > DBコンポーネント > PostgreSQL
Last publication date
2024-02-28

これらのプロパティは、標準ジョブのフレームワークで実行されているtPostgresqlOutputを設定するために使われます。

標準tPostgresqlOutputコンポーネントは、データベースファミリーに属しています。

このフレームワーク内のコンポーネントは、すべてのTalend製品で使用できます。

注: このコンポーネントは、動的データベースコネクターの特定のバージョンです。データベース設定に関連するプロパティは、データベースタイプの選択に応じて異なります。動的データベースコネクターについては、DB Genericコンポーネントをご覧ください。

基本設定

データベース

目的のデータベースタイプをリストから選択し、[Apply] (適用)をクリックします。

[Property type] (プロパティタイプ)

[Built-in] (組み込み)[Repository] (リポジトリー)のいずれかです。

  • [Built-In] (組み込み): 一元的に保存されるプロパティデータはありません。
  • [Repository] (リポジトリー): プロパティが保管されるリポジトリーファイルを選択します。後続フィールドは、取得されたデータを使用して自動的に入力されます。

このアイコンをクリックすると、データベース接続ウィザードが開き、コンポーネント[Basic settings] (基本設定)ビューに設定したデータベース接続パラメーターが保存されます。

データベース接続パラメーターの設定と保存の詳細は、データベースメタデータを一元管理をご覧ください。

[Use an existing connection] (既存の接続を使用)

定義済みの接続の詳細を再利用する場合は、このチェックボックスをオンにして、[Component List] (コンポーネントリスト)ドロップダウンリストから、目的の接続コンポーネントを選択します。

注: ジョブに親ジョブと子ジョブが含まれている時は、親ジョブと子ジョブの間の既存の接続を共有したい場合(たとえば、親ジョブで作成した接続を子ジョブと共有するなど)には、次のように実行します。
  1. 親レベルで、共有するデータベース接続を、そのデータベース接続そのものを作成する接続コンポーネントの[Basic settings] (基本設定)ビューに登録します。
  2. 子レベルで、登録済みのそのデータベース接続を読み取るために専用の接続コンポーネントを使用します。

ジョブレベル全体でデータベース接続を共有する方法の例は、データベース接続を共有をご覧ください。

データベースバージョンのリスト。

[Host] (ホスト)

データベースサーバーのIPアドレス

[Port] (ポート)

データベースサーバーのリスニングポート番号。

[Database] (データベース)

データベースの名前

[Schema] (スキーマ)

スキーマの正確な名前。

[Username] (ユーザー名)[Password] (パスワード)

データベースユーザー認証データ。

パスワードを入力するためには、パスワードフィールドの横にある[...]ボタンをクリックし、ポップアップダイアログボックスにパスワードを二重引用符で囲んで入力して[OK]をクリックし、設定を保存します。

[Table] (テーブル)

書き込まれるテーブルの名前。一度に書き込みができるテーブルは1つだけです。

[Action on table] (テーブルでのアクション)

定義済みのテーブルで、次のオペレーションの1つを実行できます。

[None] (なし): 操作は行われません。

[Drop and create table] (ドロップしてテーブルを作成): テーブルが削除され、再作成されます。

[Create table] (テーブルを作成): テーブルが存在しないため、作成されます。

[Create table if not exists] (テーブルが存在しない場合は作成): テーブルが存在しない場合は作成されます。

[Drop table if exist and create] (テーブルが存在する場合はドロップして作成): テーブルが既に存在する場合は削除されて再作成されます。

[Clear table] (テーブルをクリア): テーブルの内容が削除されます。

[Truncate table] (テーブルを切り詰め): テーブルの内容が削除されます。操作をロールバックすることはできません。

[Action on data] (データでのアクション)

定義されたテーブルのデータで実行できる操作は次のとおりです。

[Insert] (挿入): テーブルに新しいエントリーを追加します。重複が見つかった場合、ジョブは停止されます。

[Update] (アップデート): 既存のエントリーが変更されます。
注: スキーマカラムがすべてキーとして設定されている場合は、このアクションによってエラーが発生し、ジョブが失敗します。
[Insert or update] (挿入またはアップデート): 新しいレコードを挿入します。指定された参照を持つレコードが既に存在する場合は、アップデートされます。
注: スキーマカラムがすべてキーとして設定されている場合は、このアクションによって警告メッセージが発生し、ジョブが続行されます。
[Update or insert] (アップデートまたは挿入): 指定された参照を使用してレコードをアップデートします。レコードが存在しない場合は、新しいレコードが挿入されます。
注: スキーマカラムがすべてキーとして設定されている場合は、このアクションによって警告メッセージが発生し、ジョブが続行されます。
[Upsert] (アップサート): PostgreSQLのINSERT-ON CONFLICT文を使ってレコードを挿入したり、既存のレコードをアップデートしたりします。このオプションは、[DB Version] (DBバージョン)ドロップダウンリストからv9 and laterを選択する場合に利用できます。関連情報は、INSERT ON CONFLICT文を使用するPostgreSQLアップサートをご覧ください。
注:
  • 指定されたカラムにPRIMARY KEY制約とUNIQUE制約の両方が含まれている場合、このアクションは有効になりません。
  • このオプションは、Talendが提供するR2021-12以降のTalend Studioマンスリーアップデートをインストール済みである場合のみ利用できます。詳細は管理者にお問い合わせください。

[Delete] (削除): 入力フローに対応するエントリーを削除します。

警告: [Update] (アップデート)操作と[Delete] (削除)操作のベースとなるプライマリキーとして、カラムを少なくとも1つ指定する必要があります。この場合、[Edit Schema] (スキーマを編集)をクリックし、プライマリキーとして設定するカラムの横にあるチェックボックスをオンにします。高度な設定を行う場合は、[Advanced settings] (詳細設定)ビューをクリックして、[Update] (アップデート)および[Delete] (削除)操作のプライマリキーを同時に定義できます。この場合は、[Use field options] (フィールドオプションを使う)チェックボックスをオンにして、[Key in update column] (アップデートのキーカラム)で、[Update] (アップデート)操作のベースとして使うカラム名の横にあるチェックボックスをオンにします。削除操作の[Key in delete column] (削除カラムの入力)でも同じようにします。
注: ダイナミックスキーマ機能は、[Insert] (挿入)[Update] (アップデート)[Insert or update] (挿入またはアップデート)[Update or insert] (アップデートまたは挿入)[Delete] (削除)というモードで使用できます。

[Schema] (スキーマ)[Edit Schema] (スキーマを編集)

スキーマとは行の説明のことです。処理して次のコンポーネントに渡すフィールド(カラム)数を定義します。Sparkジョブを作成する場合、フィールドの命名時は予約語のlineを避けます。

スキーマを変更するには[Edit schema] (スキーマを編集)をクリックします。現在のスキーマがリポジトリータイプの場合は、3つのオプションを利用できます。

  • [View schema] (スキーマを表示): スキーマのみを表示する場合は、このオプションを選択します。

  • [Change to built-in property] (組み込みのプロパティに変更): ローカルで変更を行うためにスキーマを組み込みに変更する場合は、このオプションを選択します。

  • [Update repository connection] (リポジトリー接続をアップデート): リポジトリーに保存されているスキーマに変更を加え、変更後にそのコンテンツをすべてのジョブにプロパゲートするかどうかを決める場合は、このオプションを選択します。

    変更を現在のジョブにのみ反映する場合は、変更後、[No] (いいえ)を選択し、[Repository Content] (リポジトリーコンテンツ)ウィンドウで再びこのスキーマのメタデータを選択します。

このコンポーネントは、ダイナミックスキーマ機能の利点を備えているので、ソースファイルから不明なカラムを取得したり、各カラムを個別にマッピングしなくてもソースからカラムを一括してコピーしたりできます。ダイナミックスキーマの詳細は、ダイナミックスキーマをご覧ください。

ダイナミックスキーマ機能は、テーブルの不明なカラムを取得するしくみになっており、その他の目的には使用しないことをお勧めします。テーブルの作成には推奨しません。

[Built-in] (組み込み): そのコンポーネントに対してのみスキーマを作成し、ローカルに保管します。

[Repository] (リポジトリー): スキーマは作成済みで、リポジトリーに保管されています。さまざまなプロジェクトやジョブデザインで再利用できます。

再使用するスキーマに整数またはファンクションのデフォルト値が指定されている場合は、これらのデフォルト値を引用符で囲まないようにご注意ください。引用符で囲まれている場合は手動で削除します。

詳細は、テーブルスキーマを取得をご覧ください。

[Use spatial options] (空間オプションを使用)

注: このチェックボックスは、[Action on table] (テーブルでのアクション)リストからテーブル作成に関連するオプションを選択した時に使えます。
注: [Advanced settings] (詳細設定)ビューで[Enable parallel execution] (並列処理の有効化)チェックボックスをオンにすると、このチェックボックスは非表示になります。

PostgreSQLデータベースを地理情報システム(GIS)の空間データベースとして使うには、このチェックボックスをオンにします。このチェックボックスをオンにすると、他の2つのチェックボックスが表示されます。

  • [Create Spatial index] (空間インデックスの作成): 空間インデックスを作成するには、このチェックボックスをオンにします。
  • [Create geometry columns reference] (ジオメトリカラムの参照を作成): ジオメトリカラムの参照を作成するには、このチェックボックスをオンにします。

PostgreSQLデータベースの詳細は、http://www.postgresql.org/about/をご覧ください。

[Specify a data source alias] (データソースエイリアスを指定)

このチェックボックスをオンにして、データソース設定で定義した共有接続プールを使用するために、 Talend Runtime 側で作成したデータソースのエイリアスを指定します。このオプションは、 Talend Runtime 内にジョブをデプロイして実行する時にのみ機能します。

このチェックボックスは、[Use an existing connection] (既存の接続を使用)チェックボックスがオンになっている場合は利用できません。

[Data source alias] (データソースエイリアス)

Talend Runtime 側で作成したデータソースのエイリアスを入力します。

このフィールドは、[Specify a data source alias] (データソースエイリアスを指定)チェックボックスがオンの場合のみ利用できます。

[Die on error] (エラー発生時に強制終了)

このチェックボックスをオンにすると、エラー時に行をスキップし、エラーの発生していない行の処理が完了されます。デフォルトでは選択されていません。

詳細設定

[Use alternate schema] (代替スキーマを使用)

このオプションを選択すると、データベース接続を確立するコンポーネント(つまり[Basic settings] (基本設定)ビューの[Component list] (コンポーネントリスト)ドロップダウンリストから、選択されたコンポーネント)によって指定されたスキーマ以外のスキーマを使用できます。このオプションを選択した後、[Schema] (スキーマ)フィールドに目的のスキーマの名前を入力します。

このオプションは、[Basic settings] (基本設定)ビューで[Use an existing connection] (既存の接続を使用)がオンの場合に利用できます。

[Additional JDBC Parameters] (追加のJDBCパラメーター)

作成するデータベース接続に追加のJDBCパラメーターを指定します。

これらのプロパティは、[Basic settings] (基本設定)[Use an existing connection] (既存の接続を使用)チェックボックスがオンになっている場合は利用できません。

[Commit every] (コミットする間隔)

ノードのバッチがDBにコミットされるまでに完了しているべき行数を入力します。このオプションにより、トランザクションの質(ただしロールバックは含まない)、特に実行時のパフォーマンスの向上が保証されます。

[Additional Columns] (追加のカラム)

このオプションは、データベーステーブルを作成する場合(ドロップありまたはドロップなし)には提供されません。このオプションにより、SALファンクションを呼び出してカラムにアクションを実行できます。ただし、挿入、アップデート、削除のアクションでないこと、特定の事前処理を必要とするアクションでないことが条件です。

  • [Name:] (名前:)変更するか、または新しいカラムとして挿入するスキーマカラムの名前を入力します。
  • [SQL expression] (SQL式): 関連するカラムデータを変更または挿入するために実行するSQLステートメントを入力します。
  • [Position] (位置): 参照カラムに対して実行されるアクションに従って、[Before] (実行前)[Replace] (置換)[After] (実行後)のいずれかを選択します。
  • [Reference column:] (参照カラム:)新規または変更されたカラムを配置または置換するためにtDBOutputが使える参照のカラムを入力します。

[Use save point] (セーブポイントを使用)

トランザクションでセーブポイントを使うには、このチェックボックスをオンにします。次を選択した場合、このチェックボックスは使えません。
  • [Basic settings] (基本設定)ビューの[Die on error] (エラー発生時に強制終了)チェックボックス
  • [Advanced settings] (詳細設定)ビューの[Use Batch Size] (バッチサイズを使用)チェックボックス

次の場合、このチェックボックスは機能しません。

  • [Commit every] (コミットする間隔)フィールドに0を入力した。
  • データベース接続コンポーネントで[Auto Commit] (自動コミット)モードがアクティブになっている時に、[Basic settings] (基本設定)ビューで[Use an existing connection] (既存の接続を使用)チェックボックスをオンにした。

フィールドオプションの使用

特にデータに二重のアクションがある場合、リクエストをカスタマイズするには、このチェックボックスをオンにします。

[Debug query mode] (デバッグクエリーモード)

このチェックボックスをオンにすると、データベースのエントリーの処理中に各ステップが表示されます。

[Support null in "SQL WHERE" statement] ("SQL WHERE"ステートメントでnullをサポート)

DBテーブルに含まれているNull値を処理する場合は、このチェックボックスをオンにします。

注: スキーマ内の対応するカラムで[Nullable] (nullを許可)チェックボックスがオンになっていることをご確認ください。

[Convert columns and table to lowercase] (カラムとテーブルを小文字に変換)

このチェックボックスをオンにすると、テーブルの操作(テーブルの挿入、削除、アップデートなど)時に、すべてのカラム名とテーブル名の文字が自動的に小文字に変換されます。

[Use Batch] (バッチを使用)

このチェックボックスをオンにして、データ処理のバッチモードを有効にします。

注: このチェックボックスは、[Action on data] (データでのアクション)フィールドで[Insert] (挿入)[Update] (アップデート)、または[Delete] (削除)オプションを選択している場合にのみ使えます。

[Batch Size] (バッチサイズ)

各バッチで処理するレコードの数を指定します。

このフィールドは、[Use batch mode] (バッチモードを使用)チェックボックスがオンの場合のみ表示されます。

[tStat Catcher Statistics] (tStatCatcher統計)

このチェックボックスをオンにすると、コンポーネントレベルでログデータを収集できます。

[Enable parallel execution] (並列実行を有効化)

このチェックボックスをオンにすると、複数のデータフローを同時に処理することにより、高速データ処理を実行できます。このフィーチャーは、データベースまたは複数の挿入を並行して処理するアプリケーションの機能と、関係するCPUの数に依存していることにご注意ください。[Number of parallel executions] (並列実行の数)フィールドで次のいずれかの操作を行います。
  • 実行する並列実行の数を入力する。
  • Ctrl + スペースを押して、リストから適切なコンテキスト変数を選択する。コンテキスト変数の詳細は、コンテキストと変数を使用をご覧ください。
  • [Action on table] (テーブルでのアクション)フィールドは、並列化機能では利用できません。したがって、テーブルを作成する場合は、tCreateTableのコンポーネントを使用する必要があります。
  • 並列実行を有効にすると、グローバル変数を使ってサブジョブで戻り値を取得できません。

グローバル変数

グローバル変数

NB_LINE: 処理された行の数。これはAfter変数で、整数を返します。

NB_LINE_UPDATED: アップデートされた行の数。これはAfter変数で、整数を返します。

NB_LINE_INSERTED: 挿入された行の数。これはAfter変数で、整数を返します。

NB_LINE_DELETED: 削除された行の数。これはAfter変数で、整数を返します。

NB_LINE_REJECTED: 拒否された行の数。これはAfter変数で、整数を返します。

QUERY: 処理されたクエリーステートメント。これはAfter変数で、文字列を返します。

ERROR_MESSAGE: エラーが発生した時にコンポーネントによって生成されるエラーメッセージ。これはAfter変数で、文字列を返します。この変数はコンポーネントにこのチェックボックスが存在し、[Die on error] (エラー発生時に強制終了)がオフになっている場合のみ機能します。

Flow変数はのコンポーネントの実行中に機能し、After変数はコンポーネントの実行後に機能します。

フィールドまたは式に変数を入力する場合は、Ctrl + スペースを押して変数リストにアクセスし、使用する変数を選択します。

変数の詳細は、コンテキストと変数を使用をご覧ください。

使用方法

使用ルール

このコンポーネントでは、DBクエリーの柔軟性によるメリットが提供されており、使用可能なすべてのSQLクエリーが網羅されています。

このコンポーネントは、出力コンポーネントとして使用する必要があります。このコンポーネントを使えば、PostgreSQLデータベース内のテーブルまたはテーブルのデータにアクションを実行できます。また、[Row] (行) > [Rejects] (リジェクト)リンクを使用して、エラーのあるデータをフィルタリングするリジェクトフローを作成することもできます。tMysqlOutputの使い方の例は、リジェクトリンクを使用してエラーデータを取得するをご覧ください。

[Dynamic settings] (ダイナミック設定)

[+]ボタンをクリックしてテーブルに行を追加し、[Code] (コード)フィールドにコンテキスト変数を入力して、ジョブ内で計画した複数の接続からデータベース接続をダイナミックに選択します。この機能は、データストラクチャーが同じでデータベースが異なるデータベーステーブルにアクセスする必要がある場合、特に、Talend Studioを介さずにジョブをデプロイおよび実行する必要がある時など、ジョブの設定を変更できない環境で作業している場合に役立ちます。

[Dynamic settings] (ダイナミック設定)テーブルは、[Basic settings] (基本設定)ビューで[Use an existing connection] (既存の接続を使用)チェックボックスがオンになっている場合のみ利用できます。ダイナミックパラメーターを定義すると、[Basic settings] (基本設定)ビューの[Component List] (コンポーネントリスト)ボックスは利用できなくなります。

ダイナミックパラメーターの定義法を示すユースケースについては、コンテキストベースのダイナミック接続によってデータベースからデータを読み取りと、ダイナミックにロードされた接続パラメーターを使って異なるMySQLデータベースからデータを読み取りをご覧ください。ダイナミック設定とコンテキスト変数の詳細は、ダイナミックスキーマコンテキストグループを作成し、その中でコンテキスト変数を定義をご覧ください。

制限事項

ライセンスの互換性の問題のため、このコンポーネントの使用に必要な1つ以上のJARが提供されていません。この特定のコンポーネントに不足しているJARをインストールするには、Component (コンポーネント)タブビューの[Install] (インストール)ボタンをクリックします。Talend StudioIntegrationパースペクティブにある[Modules] (モジュール)タブでも、不足しているすべてのJARを簡単に見つけて追加できます。詳細は、外部モジュールをインストールをご覧ください。