1CGI::Session::Driver::pUossetrgrCeosnqtlr(i3b)uted PerlCDGoIc:u:mSeenstsaitoino:n:Driver::postgresql(3)
2
3
4
6 CGI::Session::Driver::postgresql - PostgreSQL driver for CGI::Session
7
9 use CGI::Session;
10 $session = CGI::Session->new("driver:PostgreSQL", undef, {Handle=>$dbh});
11
13 CGI::Session::PostgreSQL is a CGI::Session driver to store session data
14 in a PostgreSQL table.
15
17 Before you can use any DBI-based session drivers you need to make sure
18 compatible database table is created for CGI::Session to work with.
19 Following command will produce minimal requirements in most SQL
20 databases:
21
22 CREATE TABLE sessions (
23 id CHAR(32) NOT NULL PRIMARY KEY,
24 a_session BYTEA NOT NULL
25 );
26
27 and within your code use:
28
29 use CGI::Session;
30 $session = CGI::Session->new("driver:PostgreSQL", undef, {Handle=>$dbh, ColumnType=>"binary"});
31
32 Please note the ColumnType argument. PostgreSQL's text type has
33 problems when trying to hold a null character. (Known as "\0" in Perl,
34 not to be confused with SQL NULL). If you know there is no chance of
35 ever having a null character in the serialized data, you can leave off
36 the ColumnType attribute. Using a BYTEA column type and "ColumnType =>
37 'binary'" is recommended when using Storable as the serializer or if
38 there's any possibility that a null value will appear in any of the
39 serialized data.
40
41 To use different column names, change the 'create table' statement, and
42 then simply do this:
43
44 $s = CGI::Session->new('driver:pg', undef,
45 {
46 TableName=>'session',
47 IdColName=>'my_id',
48 DataColName=>'my_data',
49 DataSource=>'dbi:pg:dbname=project',
50 });
51
52 or
53
54 $s = CGI::Session->new('driver:pg', undef,
55 {
56 TableName=>'session',
57 IdColName=>'my_id',
58 DataColName=>'my_data',
59 Handle=>$dbh,
60 });
61
62 For more details see CGI::Session::Driver::DBI, parent class.
63
64 Also see sqlite driver, which exercises different method for dealing
65 with binary data.
66
68 Copyright (C) 2002 Cosimo Streppone. All rights reserved. This library
69 is free software and can be modified and distributed under the same
70 terms as Perl itself.
71
73 Cosimo Streppone <cosimo@cpan.org>, heavily based on the
74 CGI::Session::MySQL driver by Sherzod Ruzmetov, original author of
75 CGI::Session.
76
77 Matt LeBlanc contributed significant updates for the 4.0 release.
78
80 For additional support and licensing see CGI::Session
81
82
83
84perl v5.38.0 2023-07-20CGI::Session::Driver::postgresql(3)