---+ Package == *extends* <tt>CGI::Session::Driver::DBI </tt> %TOC% =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<ColumnType> 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<NULL>). If you know there is no chance of ever having a null character in the serialized data, you can leave off the I<ColumnType> attribute. Using a I<BYTEA> 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<sqlite driver|CGI::Session::Driver::sqlite>, 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>
This topic: TWiki
>
CGISessionDriverPostgresqlDotPm
Topic revision: r1 - 2008-01-22 - TWikiContributor
Copyright © 1999-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback
Note:
Please contribute updates to this topic on TWiki.org at
TWiki:TWiki.CGISessionDriverPostgresqlDotPm
.