第55章 外部データラッパの作成

目次

55.1. 外部データラッパ関数
55.2. 外部データラッパのコールバックルーチン
55.2.1. 外部テーブルスキャンのためのFDWルーチン
55.2.2. 外部テーブルの結合をスキャンするためのFDWルーチン
55.2.3. スキャン/結合後の処理をプラン生成するためのFDWルーチン
55.2.4. 外部テーブル更新のためのFDWルーチン
55.2.5. 行ロックのためのFDWルーチン
55.2.6. EXPLAINのためのFDWルーチン
55.2.7. ANALYZEのためのFDWルーチン
55.2.8. IMPORT FOREIGN SCHEMAのためのFDWルーチン
55.2.9. パラレル実行のためのFDWルーチン
55.3. 外部データラッパヘルパ関数
55.4. 外部データラッパのクエリプラン作成
55.5. 外部データラッパでの行ロック
<title>Writing A Foreign Data Wrapper</title>

All operations on a foreign table are handled through its foreign data wrapper, which consists of a set of functions that the core server calls. The foreign data wrapper is responsible for fetching data from the remote data source and returning it to the <productname>PostgreSQL</productname> executor. If updating foreign tables is to be supported, the wrapper must handle that, too. This chapter outlines how to write a new foreign data wrapper. 外部テーブルへの全ての操作は、コアサーバの呼び出しを処理する関数のセットで構成される、外部データラッパによって扱われます。 リモートデータソースからデータを取り出し、そのデータをPostgreSQLエグゼキュータに返却する責任は外部データラッパにあります。 もし外部テーブルの更新をサポートするのであれば、ラッパはそれも扱わなければなりません。 本章では、新しい外部データラッパを作成する方法の概要を示します。

The foreign data wrappers included in the standard distribution are good references when trying to write your own. Look into the <filename>contrib</> subdirectory of the source tree. The <xref linkend="sql-createforeigndatawrapper"> reference page also has some useful details. 独自の外部データラッパを作成する際、標準配布物に含まれているものは優れたリファレンスです。 ソースツリーのcontribサブディレクトリを調べてください。 CREATE FOREIGN DATA WRAPPERマニュアルページにも有用な情報があります。

注記

The SQL standard specifies an interface for writing foreign data wrappers. However, PostgreSQL does not implement that API, because the effort to accommodate it into PostgreSQL would be large, and the standard API hasn't gained wide adoption anyway. 標準SQLでは外部データラッパを作成するインターフェースを定義しています。 しかしながら、PostgreSQLに適応させる労力が大きく、また標準のAPIが広く採用されているわけでもないので、PostgreSQLはそのAPIを実装していません。