---
name: "Apache::Session::Store::Postgres"
section: "3pm"
platform: "linux"
package: "libapache-session-perl"
version: "1.94-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Apache::Session::Store::Postgres"
---

# Apache::Session::Store::Postgres(3pm)

Store persistent data in a Postgres database

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