/node-connect-pg-simple

A simple, minimal PostgreSQL session store for Connect/Express

Primary LanguageJavaScript

Connect PG Simple

A simple, minimal PostgreSQL session store for Connect/Express

Installation

npm install connect-pg-simple

Once npm installed the module, you need to create the session table in your database. For that you can use the [table.sql] (https://github.com/voxpelli/node-connect-pg-simple/blob/master/table.sql) file provided with the module:

psql mydatabase < node_modules/connect-pg-simple/table.sql

Or simply play the file via the pgAdminIII queries tool.

Usage

Simple:

var pgSession = require('connect-pg-simple')(express);
app.use(express.session({
  store: new pgSession(),
  secret: process.env.FOO_COOKIE_SECRET,
  cookie: { maxAge: 30 * 24 * 60 * 60 * 1000 } // 30 days
}));

Advanced:

var pg = require('pg')
  , pgSession = require('connect-pg-simple')(express);

app.use(express.session({
  store: new pgSession({
    pg : pg
  }),
  secret: process.env.FOO_COOKIE_SECRET,
  cookie: { maxAge: 30 * 24 * 60 * 60 * 1000 } // 30 days
}));

Advanced options

  • pg - if you want the session store to use the same database module as the rest of your app, send it in here.
  • ttl - the time to live for the session in the database – specified in seconds. Defaults to the cookie maxAge if the cookie has a maxAge defined and otherwise defaults to one day.
  • conString - if you don't have your PostgreSQL connection string in the DATABASE_URL environment variable (as you do by default on eg. Heroku) – then you need to send the connection string or object here as this module uses its own connection.

Changelog

1.0.2

  • Support for PostgreSQL versions older than 9.2

1.0.1

  • Fix for sometimes not expiring sessions correctly

1.0.0