CGI::Session::PostgreSQL3pm
Postgresql driver for cgi::session
Usage
use CGI::Session;$session = new CGI::Session("driver:PostgreSQL", undef, {Handle=>$dbh});
For more examples, consult CGI::Session manual
Overview
CGI::Session::PostgreSQL is a CGI::Session driver to store session data in a PostgreSQL table. To write your own drivers for CGI::Session refere CGI::Session manual.
Storage
To store session data in PostgreSQL database, you first need to create a suitable table for it with the following command:
CREATE TABLE sessions (id CHAR(32) NOT NULL,a_session TEXT NOT NULL);
You can also add any number of additional columns to the table, but the above "id" and "a_session" are required. If you want to store the session data in other table than "sessions", you will also need to specify TableName attribute as the first argument to new():
use CGI::Session;
$session = new CGI::Session("driver:PostgreSQL", undef,{Handle=>$dbh, TableName=>'my_sessions'});
Every write access to session records is done through PostgreSQL own row locking mechanism, enabled by `FOR UPDATE' clauses in SELECTs or implicitly enabled in UPDATEs and DELETEs.