PostgreSQL セッション保存ハンドラ
Session PgSQL
&reftitle.intro;
¬e.no-windows.extension;
このモジュールは、PostgreSQL PostgreSQL
をストレージとして使用する session
モジュール用にセッション保存ハンドラを提供するものです。
user セッション保存ハンドラを使用することも可能ですが
(session_set_save_handler)、
このモジュールは C で書かれており、PHP で書いた保存ハンドラより約 2 倍
高速です。
PgSQL セッション保存ハンドラは あらゆる規模の Web サイトを対象に
設計されており、いくつかの進んだ機能を持っています。
セッションテーブルを自動的に作成します。
セッションテーブルの vacuum を自動的に行います。
効率的なガベージコレクションを行います。
複数の PostgreSQL サーバをサポートします。
データベースサーバの自動フェイルオーバー(スイッチング)を行います。
複数の PostgreSQL サーバを稼動させている場合、自動的に
ロードバランシングが行われます。
UPDATE のショートカット機能を有します。
&reftitle.required;
すくなくとも PHP >= 4.3.0 、およびデータベースサーバとして
PostgreSQL >=7.2.0 が必要です。また、PostgreSQL 7.2.0 以降の
libpq(とそのヘッダファイル)
および libmm(とそのヘッダファイル)
が必要です。
&reference.session-pgsql.configure;
&reference.session-pgsql.ini;
テーブル定義
セッションテーブルの定義
HASH 形式の INDEX を使用する際は、
サーバの負荷が非常に高くなった際にデッドロックの
問題が発生することがあります。通常の操作ではデッドロックが起こることは
まずありませんが、起こることもありえます。インデックスには
HASH 形式を使用しないでください。
すべてのフィールドが定義されている限り、セッションテーブルを
変更することも可能です。
アプリケーション変数テーブルの定義
&reference.session-pgsql.functions;