Pl/PHP(PostgreSQL用プロシージャ言語)
Pl/PHPは、PostgreSQLデータベース内でPHPコードを記述してストアドプロシージャや関数を作成できる手続き型言語です。これにより、データベース操作をPHPで直接実装できるため、アプリケーションとデータベースの連携が容易になります。
背景メモ
- PL/phpはPostgreSQLデータベースの内部でPHPスクリプトをストアドプロシージャとして実行できるようにする言語拡張。通常のSQL関数に加え、PHPの豊富な標準ライブラリ(文字列操作、配列関数など)をそのまま使える。
- 作者はCommand Prompt社(PostgreSQLコンサルティング企業)。同社はPL/PythonなどPostgreSQLの手続き言語拡張を多数メンテナンスしている。
- なぜこれが注目されるかというと、PHPはウェブバックエンドで最も普及している言語のひとつだが、データベース内部でPHPを動かすという発想は珍しい。PHP開発者がDBレイヤーにロジックを寄せたい場合、学習コストが低い選択肢になる。
- PostgreSQLは標準でPL/pgSQL、PL/Python、PL/Perl、PL/Tclをサポート。PL/phpはPostgreSQLのコア配布には含まれないサードパーティ拡張だが、contribモジュールとしてコミュニティで開発が続いている。PostgreSQL 17など新しいバージョンへの対応状況は都度確認が必要。