# tPostgresqlRow

クエリーとデータベースの性質に応じて、実際のDBストラクチャーやデータに対して作用します(ただし、データは処理されません)。SQLBuilderツールを使用すれば、SQLステートメントを書き込む作業が容易になります。

tPostgresqlRowは、データベースクエリーに固有のコンポーネントです。指定したデータベースに対して記述されたSQLクエリーを実行します。行のサフィックスは、コンポーネントでジョブデザインの出力を提供しないフローが実装されることを意味しています。

## tPostgresqlRowの標準プロパティ

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

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

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

情報メモ注: このコンポーネントは、動的データベースコネクターの特定のバージョンです。データベース設定に関連するプロパティは、データベースタイプの選択に応じて異なります。動的データベースコネクターについては、[DB Genericコンポーネント](https://help.qlik.com/talend/r/ja-JP/8.0/components/db-generic/db-generic-component)をご覧ください。

## 基本設定

| プロパティ | 説明 |
| --- | --- |
| データベース | 目的のデータベースタイプをリストから選択し、[Apply] (適用)をクリックします。 |
| [Property type] (プロパティタイプ) | <ul> <li> <p> <span><span>[Built-in] (組み込み)</span>と<span>[Repository] (リポジトリー)</span>のいずれかです。</span> </p> </li> <li> <p> <span>[Built-in] (組み込み)</span>: 一元的に保存されるプロパティデータはありません。</p> </li> <li> <p> <span>[Repository] (リポジトリー)</span>: プロパティが保管されるリポジトリーファイルを選択します。後続フィールドは、取得されたデータを使用して自動的に入力されます。</p> </li> </ul> |
| [Use an existing connection] (既存の接続を使用) | 定義済みの接続の詳細を再利用する場合は、このチェックボックスを選択して、[Component List] (コンポーネントリスト)ドロップダウンリストから、目的の接続コンポーネントを選択します。<br><br>情報メモ注: ジョブに親ジョブと子ジョブが含まれている時は、親ジョブと子ジョブの間の既存の接続を共有したい場合(たとえば、親ジョブで作成した接続を子ジョブと共有するなど)には、次のように実行します。<br><br><ol> <li>親レベルで、共有するデータベース接続を、そのデータベース接続そのものを作成する接続コンポーネントの<span>[Basic settings] (基本設定)</span>ビューに登録します。 </li> <li>子レベルで、登録済みのそのデータベース接続を読み取るために専用の接続コンポーネントを使用します。 </li> </ol><br><br>ジョブレベル全体でデータベース接続を共有する方法の例は、[データベース接続を共有](https://help.qlik.com/talend/r/ja-JP/7.3/studio-user-guide/sharing-database-connection)をご覧ください。 |
| [DB Version] (データベースバージョン) | データベースバージョンのリスト。 |
| [Host] (ホスト) | データベースサーバーのIPアドレス。 |
| [Port] (ポート) | データベースサーバーのリスニングポート番号。 |
| [Database] (データベース) | データベースの名前。 |
| [Schema] (スキーマ) | スキーマの名前。 |
| [Username] (ユーザー名)と[Password] (パスワード) | データベースユーザー認証データ。<br><br>パスワードを入力するためには、パスワードフィールドの横にある[...]ボタンをクリックし、ポップアップダイアログボックスにパスワードを二重引用符で囲んで入力して[OK]をクリックし、設定を保存します。 |
| [Schema] (スキーマ)と[Edit schema] (スキーマを編集) | <ul> <li> <p>スキーマとは行の説明で、処理された後に次のコンポーネントに渡されるフィールドの数を定義するものです。スキーマは<span>[Built-in] (組み込み)</span>か、<span>[Repository] (リポジトリー)</span>にリモートで保存されます。</p> <p>スキーマを変更するには<span>[Edit schema] (スキーマを編集)</span>をクリックします。現在のスキーマが<span>リポジトリー</span>タイプの場合は、3つのオプションを利用できます。</p> <ul> <li> <p> <span>[View schema] (スキーマを表示)</span>: スキーマのみを表示する場合は、このオプションを選択します。</p> </li> <li> <p> <span>[Change to built-in property] (組み込みのプロパティに変更)</span>: ローカルで変更を行うためにスキーマを<span>組み込み</span>に変更する場合は、このオプションを選択します。</p> </li> <li> <p> <span>[Update repository connection] (リポジトリー接続をアップデート)</span>: リポジトリーに保存されているスキーマに変更を加え、変更後にそのコンテンツをすべてのジョブにプロパゲートするかどうかを決める場合は、このオプションを選択します。</p> <p>変更を現在のジョブにのみ反映する場合は、変更後、<span>[No] (いいえ)</span>を選択し、<span>[Repository Content] (リポジトリーコンテンツ)</span>ウィンドウで再びこのスキーマのメタデータを選択します。</p> </li> </ul> </li> <li> <p> <span>[Built-in] (組み込み)</span>: そのコンポーネントに対してのみスキーマを作成し、ローカルに保管します。</p> </li> <li> <p> <span>[Repository] (リポジトリー)</span>: スキーマは作成済みで、リポジトリーに保管されています。さまざまなプロジェクトやジョブデザインで再利用できます。</p> </li> </ul> |
| [Query type] (クエリータイプ) | <ul> <li> <p> <span><span>[Built-in] (組み込み)</span>と<span>[Repository] (リポジトリー)</span>のいずれかです。</span> </p> </li> <li> <p> <span>[Built-in] (組み込み)</span>: クエリーステートメントを手動で入力するか、またはSQLBuilderを使用してグラフィカルにビルドします。</p> </li> <li> <p> <span>[Repository] (リポジトリー)</span>: リポジトリーに保管されている関連クエリーを選択します。[Query] (クエリー)フィールドに情報が入力されます。</p> </li> </ul> |
| [Query] (クエリー) | クエリーを入力します。フィールドの順序に気を付けて、スキーマ定義と一致するようにしてください。 |
| [Specify a data source alias] (データソースエイリアスを指定) | このチェックボックスを選択し、データソース設定で定義した共有接続プールを使用するために、 *Talend Runtime* 側で作成したデータソースのエイリアスを指定します。このオプションは、 *Talend Runtime* 内にジョブをデプロイして実行する時にのみ機能します。<br><br>このチェックボックスは、[Use an existing connection] (既存の接続を使用)チェックボックスがオンになっている場合は利用できません。 |
| [Data source alias] (データソースエイリアス) | *Talend Runtime* 側で作成したデータソースのエイリアスを入力します。<br><br>このフィールドは、[Specify a data source alias] (データソースエイリアスを指定)チェックボックスがオンの時のみ利用可能です。 |
| [Die on error] (エラー発生時に強制終了) | このチェックボックスはデフォルトで選択されています。エラーの発生した行をスキップし、エラーが発生していない行の処理を完了するには、このチェックボックスをオフにします。必要に応じて[Row] (行) &gt; [Rejects] (リジェクト)リンクを使用してエラー発生時に行を取得できます。 |

## 詳細設定

| プロパティ | 説明 |
| --- | --- |
| [Additional JDBC Parameters] (追加のJDBCパラメーター) | 作成するデータベース接続に追加のJDBCパラメーターを指定します。<br><br>このプロパティは、[Basic settings] (基本設定)で[Use an existing connection] (既存の接続を使用)チェックボックスがオンになっている場合は利用できません。 |
| [Propagate QUERY's recordset] (QUERYのレコードセットをプロパゲート) | クエリーの結果を現在のフローのカラムに挿入するには、このチェックボックスを選択します。このカラムを[use column] (カラムの使用)リストから選択します。<br><br>情報メモ注:<br><br>このオプションにより、コンポーネントは、先行コンポーネントのスキーマとは異なるスキーマを持つことができます。さらに、クエリーのレコードセットが含まれているカラムは*Object*型に設定する必要があります。通常、このコンポーネントにはtParseRecordSetコンポーネントが続きます。 |
| [Use PreparedStatement] (PreparedStatementの使用) | PreparedStatementを使用してデータベースでクエリーを実行する場合は、このチェックボックスを選択します。[Set PreparedStatement Parameter] (PreparedStatementパラメーターの設定)テーブルで、[Basic Settings] (基本設定)タブの[Query] (クエリー)フィールドのSQL命令の中で"?"で表されるパラメーターを定義します。<br><br>[Parameter Index] (パラメーターインデックス): SQL命令にパラメーターの位置を入力します。<br><br>[Parameter Type] (パラメータータイプ): パラメーターのタイプを入力します。<br><br>[Parameter Value] (パラメーター値): パラメーター値を入力します。<br><br>情報メモ注:<br><br>このオプションは、同じクエリーを数回実行する必要がある場合に非常に便利です。パフォーマンスレベルの向上 |
| [Commit every] (コミットする間隔) | 行のバッチをDBにまとめてコミットする前に完了する行数。このオプションにより、トランザクションの品質(ロールバックは対象外)が保証され、実行時のパフォーマンスが向上します。 |
| [tStat Catcher Statistics] (tStatCatcher統計) | このチェックボックスを選択すると、コンポーネントレベルでログデータを収集できます。 |
| [Enable parallel execution] (並列実行を有効化) | このチェックボックスを選択すると、複数のデータフローを同時に処理することにより、高速データ処理を実行できます。このフィーチャーは、データベースまたは複数の挿入を並行して処理するアプリケーションの機能と、関係するCPUの数に依存していることにご注意ください。[Number of parallel executions] (並列実行の数)フィールドで次のいずれかの操作を行います。<br><br><ul> <li>実行する並列実行の数を入力します。</li> <li><span>Ctrl + スペース</span>を押し、リストから適切なコンテキスト変数を選択します。コンテキスト変数の詳細は、<a href="https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/contexts-and-variables" target="_blank">コンテキストと変数を使用</a>をご覧ください。 </li> </ul><br><br>並列実行を有効にすると、グローバル変数を使ってサブジョブで戻り値を取得することはできないことにご注意ください。<br><br><ul><li> <span>[Action on table] (テーブルでのアクション)</span>フィールドは、並列化ファンクションでは利用できません。したがって、テーブルを作成する場合は、<span>tCreateTable</span>のコンポーネントを使用する必要があります。 </li><li> 						            並列実行を有効にすると、グローバル変数を使ってサブジョブで戻り値を取得できません。 </li> </ul> |

## グローバル変数

| 変数 | 説明 |
| --- | --- |
| グローバル変数 | QUERY: 処理されているクエリーステートメント。これはFlow変数で、文字列を返します。<br><br>ERROR\_MESSAGE: エラーが発生した時にコンポーネントによって生成されるエラーメッセージ。これはAfter変数で、文字列を返します。この変数はコンポーネントにこのチェックボックスが存在し、[Die on error] (エラー発生時に強制終了)がオフになっている場合のみ機能します。<br><br>Flow変数はのコンポーネントの実行中に機能し、After変数はコンポーネントの実行後に機能します。<br><br>フィールドまたは式に変数を入力する場合は、Ctrl + スペースを押して変数リストにアクセスし、使用する変数を選択します。<br><br>変数の詳細は、[コンテキストと変数を使用](https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/contexts-and-variables)をご覧ください。 |

## 使用方法

| 使用方法のガイダンス | 説明 |
| --- | --- |
| **使用ルール** | このコンポーネントでは、DBクエリーの柔軟性によるメリットが提供されており、使用可能なすべてのSQLクエリーが網羅されています。 |
| [Dynamic settings] (ダイナミック設定) | [+]ボタンをクリックしてテーブルに行を追加し、[Code] (コード)フィールドにコンテキスト変数を入力して、ジョブ内で計画した複数の接続からデータベース接続をダイナミックに選択します。この機能は、データストラクチャーが同じでデータベースが異なるデータベーステーブルにアクセスする必要がある場合、特に、Talend Studioを介さずにジョブをデプロイおよび実行する必要がある時など、ジョブの設定を変更できない環境で作業している場合に役立ちます。<br><br>[Dynamic settings] (ダイナミック設定)テーブルは、[Basic settings] (基本設定)ビューで[Use an existing connection] (既存の接続を使用)チェックボックスがオンになっている時のみ利用可能です。ダイナミックパラメーターを定義すると、[Basic settings] (基本設定)ビューの[Component List] (コンポーネントリスト)ボックスは利用できなくなります。<br><br>ダイナミックパラメーターの定義法を示すユースケースについては、[コンテキストベースのダイナミック接続によってデータベースからデータを読み取り](https://help.qlik.com/talend/r/ja-JP/8.0/components/defining-context-groups/reading-data-from-databases-through-context-based-dynamic-connections)と、[ダイナミックにロードされた接続パラメーターを使って異なるMySQLデータベースからデータを読み取り](https://help.qlik.com/talend/r/ja-JP/8.0/components/context/reading-data-from-different-mysql-databases-using-dynamically-loaded-connection-parameters)をご覧ください。ダイナミック設定とコンテキスト変数の詳細は、[ダイナミックスキーマ](https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/dynamic-schema)と[コンテキストグループを作成し、その中でコンテキスト変数を定義](https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/creating-context-group-and-define-context-variables-in-it)をご覧ください。 |