# Apache::Session::Store::Postgres - phpMan

## NAME
    [Apache::Session::Store::Postgres] - Store persistent data in a Postgres
    database

## SYNOPSIS
     use [Apache::Session::Store::Postgres];

     my $store = new [Apache::Session::Store::Postgres];

     $store->insert($ref);
     $store->update($ref);
     $store->materialize($ref);
     $store->remove($ref);

## DESCRIPTION
    [Apache::Session::Store::Postgres] fulfills the storage interface of
    [Apache::Session]. Session data is stored in a Postgres database.

## SCHEMA
    To use this module, you will need at least these columns in a table
    called 'sessions', or another name if you supply the TableName
    parameter.

     id [char(32)]     # or however long your session IDs are.
     a_session text  # This has an ~8 KB limit :(

    To create this schema, you can execute this command using the psql
    program:

     CREATE TABLE sessions (
        id [char(32)] not null primary key,
        a_session text
     );

    If you use some other command, ensure that there is a unique index on
    the table's id column.

## CONFIGURATION
    The module must know what datasource, username, and password to use when
    connecting to the database. These values can be set using the options
    hash (see [Apache::Session] documentation). The options are:

    DataSource
    UserName
    Password
    Handle
    TableName

    Example:

     tie %hash, '[Apache::Session::Postgres]', $id, {
         DataSource => 'dbi:Pg:dbname=database',
         UserName   => 'database_user',
         Password   => 'K00l'
     };

    Instead, you may pass in an already-opened DBI handle to your database.

     tie %hash, '[Apache::Session::Postgres]', $id, {
         Handle => $dbh
     };

## AUTHOR
    This modules was written by Jeffrey William Baker <<jwbaker@acm.org>>

    A fix for the commit policy was contributed by Michael Schout
    <<mschout@gkg.net>>

## SEE ALSO
    [Apache::Session], [Apache::Session::Store::DBI]

