Note: 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 |
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);
Warning:
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.