# 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>