- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- PostgreSQL/解析/拡張機能の構築基盤 へ行く。
- 1 (2017-06-24 (土) 00:33:32)
- 2 (2017-06-25 (日) 23:07:52)
- 3 (2017-06-26 (月) 23:08:39)
- 4 (2017-06-28 (水) 23:25:26)
- 5 (2017-07-01 (土) 01:18:40)
- 6 (2017-07-02 (日) 20:09:39)
- 7 (2017-07-11 (火) 20:01:26)
- 8 (2017-07-11 (火) 22:58:56)
- 9 (2017-07-11 (火) 23:57:22)
- 10 (2017-07-12 (水) 23:31:04)
- 11 (2017-07-18 (火) 21:51:44)
- 12 (2018-02-04 (日) 22:32:14)
概要 †
ここでは,拡張機能の開発で必要となる知識について整理する。
具体的には,拡張機能のディレクトリ構造,ビルドスクリプト,制御ファイルについてである。
拡張機能のディレクトリ構造 †
CREATE EXTENSIONとしてインストールされる拡張機能のディレクトリ構造は,以下のようになっている(ここでは,拡張機能を「myext」として説明を進める)。
myext |- myext.control |- myext--xx.sql |- Makefile |- myext.c
- myext.control
- CREATE EXTENSIONやALTER EXTENSIONが実行されたときに読み込まれる。
- myext--xx.sql
- CREATE EXTENSIONやALTER EXTENSIONが実行されたときに実行されるターゲットバージョンのスクリプト。xxからyyへのアップデートに段階的な更新が必要な場合は,myext--xx--yy.sqlのようにする。
- Makefile
- ビルド定義
- myex.c
- ソースコード。もちろん複数のソースコードのコンパイル&リンクも問題ない。
Makefile †
制御ファイル(.control) †
CreateExtension実行の流れ †
参考リンク †
- extension.c - on doxygen.postgresql.org
- CreateExtension() - on doxygen.postgresql.org
- AlterExtension() - on doxygen.postgresql.org
- parse_extension_control_file() - on doxygen.postgresql.org
- PostgreSQL 9.5.4文書 35.15. 関連するオブジェクトを拡張としてパッケージ化 - PostgreSQL 9.5.4文書
- PostgreSQL 9.5.4文書 35.16. 拡張構築基盤 - PostgreSQL 9.5.4文書