Javascript debugger
Website design
↑
This extension is not available on Windows platforms.
This module provides an additional session save handler for the
session
module using » PostgreSQL as a
storage system. A user-level
session storage function may
also be used - session_set_save_handler(), but this module is
written in C and therefore could be twice as fast, compared to
a session save handler written in PHP.
Session PgSQL is designed to scale any size of web sites and offers some advanced features:
session tables are created automatically |
automatic session table vacuum |
better garbage collection |
multiple PostgreSQL servers support |
automatic database server failover (switching) |
automatic database server load balancing if there are multiple PostgreSQL servers. |
short circuit UPDATE |
You need at least PHP >= 4.3.0, and PostgreSQL >=7.2.0 as database
server. libpq
that comes with PostgreSQL 7.2.0 or
later (and header files to build) and » libmm
(and header files).
Short installation note:
tar.gz
archive into
php4/ext
(Latest official releases
can be found at SourceForge
» PHP Form Extension Project)
session_pgsql
. You should name it to
session_pgsql
(except you only want to build it as
self-contained php-module).
./buildconf
in php4configure
--with-session-pgsql
(and your other
options)
make; make install
The behaviour of these functions is affected by settings in php.ini
.
PostgreSQL session save handler is still under development. Refer to the
README
file in the source distribution for
configuration details.
Session table definition
CREATE TABLE php_session (
sess_id text,
sess_name text,
sess_data text,
sess_created integer,
sess_modified integer,
sess_expire integer,
sess_addr_created text,
sess_addr_modified text,
sess_counter integer,
sess_error integer,
sess_warning integer,
sess_notice integer,
sess_err_message text,
sess_custom text
);
CREATE INDEX php_session_idx ON php_session USING BTREE (sess_id);
If you use HASH
for INDEX
, you'll
have a deadlock problem when the server load is
very high. Even if it's unlikely to have a deadlock
under normal operation, it can occur. Do not use
HASH
for INDEX
.
You may change the session table as long as all fields are defined.
Application variables table definition
CREATE TABLE php_app_vars (
app_modified integer,
app_name text,
app_vars text
);
I have at the moment not very much time to further develop this extension. I will implement more and more features in the near future.
If you have comments, bug fixes, enhancements or want to help developing this, you can drop me a mail at » yohgaki@php.net. Any help is very welcome.
Table of Contents