Package =
extends CGI::Session::Driver::DBI
=head1 NAME
CGI::Session::Driver::postgresql -
PostgreSQL driver for CGI::Session
=head1 SYNOPSIS
use CGI::Session;
$session = new CGI::Session("driver:PostgreSQL", undef, {Handle=>$dbh});
=head1 DESCRIPTION
CGI::Session::PostgreSQL is a L<CGI::Session|CGI::Session> driver to store session data in a
PostgreSQL table.
=head1 STORAGE
Before you can use any DBI-based session drivers you need to make sure compatible database table is created for CGI::Session to work with. Following command will produce minimal requirements in most SQL databases:
CREATE TABLE sessions (
id CHAR(32) NOT NULL PRIMARY KEY,
a_session BYTEA NOT NULL
);
and within your code use:
use CGI::Session;
$session = new CGI::Session("driver:PostgreSQL", undef, {Handle=>$dbh,
ColumnType=>"binary"});
Please note the I
argument. PostgreSQL's text type has problems when trying to hold a null character. (Known as C<"\0"> in Perl, not to be confused with SQL I). If you know there is no chance of ever having a null character in the serialized data, you can leave off the I attribute. Using a I column type and C<< ColumnType => 'binary' >> is recommended when using L<Storable|CGI::Session::Serialize::storable> as the serializer or if there's any possibility that a null value will appear in any of the serialized data.
For more details see L<CGI::Session::Driver::DBI|CGI::Session::Driver::DBI>, parent class.
Also see L, which exercises different method for dealing with binary data.
=head1 COPYRIGHT
Copyright (C) 2002 Cosimo Streppone. All rights reserved. This library is free software and can be modified and distributed under the same terms as Perl itself.
=head1 AUTHORS
Cosimo Streppone <cosimo@cpan.org>, heavily based on the CGI::Session::MySQL driver by Sherzod Ruzmetov, original author of CGI::Session.
Matt LeBlanc contributed significant updates for the 4.0 release.
=head1 LICENSING
For additional support and licensing see L<CGI::Session|CGI::Session>