I'm sponsoring this fast-track for Magne Mahre. I believe this project
qualifies for a patch binding, but Magne can confirm whether or not he
intends to integrate this into Solaris 10 or earlier.
The timer is set for next Monday, February 11, 2008.
Danek
===========================================================================
Template Version: @(#)onepager.txt 1.31 07/08/08 SMI
This information is Copyright 2007 Sun Microsystems
1. Introduction
1.1. Project/Component Working Name:
pgBouncer - Provide PostgreSQL connection pooling for
Solaris and OpenSolaris
1.2. Name of Document Author/Supplier:
Magne Mahre
1.3. Date of This Document:
2007-12-06
1.4. Name of Major Document Customer(s)/Consumer(s):
1.4.1. The Community you expect to review your project:
Databases
1.4.2. The ARC(s) you expect to review your project:
LSARC
1.5. Email Aliases:
1.5.2. Responsible Engineer:
Magne Mahre <magne.mahre at sun.com>
1.5.4. Interest List:
databases-discuss at sun.com
2. Project Summary
2.1. Project Description:
pgBouncer is the most popular connection pool mechanism for
PostgreSQL. This project aims to provide pgBouncer as a part
of the OpenSolaris distribution(s).
3. Business Summary
3.2. Market/Requester:
pgBouncer is a pri. 1 requirement from the Databases P-Team.
4. Technical Description:
4.1. Details:
pgBouncer is a part of the PostgreSQL Global Development
Team effort, with the bulk of the code supplied by Skype.
The product implements a connection pooling front-end for
PostgreSQL databases allowing muliple client to share a
set of database connections for efficiency purposes.
Connection pooling is a feature required by most
"Web 2.0" installations, and also by other users.
Opening, keeping and closing database connections has
a cost in time and cpu/disk resources. To lower this
cost, pgBouncer opens and holds a number of database
connections that can be used by clients to execute
transaction.
When the client needs to execute a database transaction,
it will direct the query to pgBouncer, which in turn
will forward the query to the database using one of the
set of pre-opened connections. When the transaction
completes, the client will release the connection
back to pgBouncer, and it will be available for the
next client.
The protocol between the client and the pgBouncer instance,
and between pgBouncer and the PostgreSQL database
is the "PostgreSQL Frontend/Backend Protocol version 3"
The protocol is described at
http://www.postgresql.org/docs/8.2/static/protocol.html
pgBouncer will be installed with SMF capability, defaulted
to disabled. The administrator will need to edit the
configuration file before enabling the service. No changes
are required on the PostgreSQL installation.
PgBouncer web page:
http://pgfoundry.org/projects/pgbouncer/
4.5. Interfaces:
pgBouncer is a component that strongly depend on a
specific version of the PostgreSQL RDBMS. As such,
it will be placed in the same directory tree as the
corresponding PostgreSQL version. It is an OSS project,
not controlled by Sun, so interface stability can't
be guaranteed.
SUNWpgbouncer_server_pg_82 Uncommitted Package name
SUNWpgbouncer_config_pg_82 Uncommitted Package name
Installed files: Uncommitted
/usr/postgres/<version>/bin/pgbouncer
/usr/postgres/<version>/share/man/man1/pgbouncer.1
/usr/postgres/<version>/share/man/man5/pgbouncer.5
/usr/postgres/<version>/share/doc/pgbouncer [Directory]
/etc/pgbouncer/pgbouncer.ini
/var/svc/manifest/application/database/pgbouncer.xml
SMF FMRI: Uncommitted
svc:/application/database/pgbouncer:default
API / Protocol: Uncommitted
The PostgreSQL Frontend/Backend Protocol
4.10 Packaging & Delivery
SUNWpgbouncer_server_pg_82 The pgBouncer connection pool manager
SUNWpgbouncer_config_pg_82 pgBouncer config and service mgmt.
4.12. Dependencies:
SUNWpostgr-82-libs
libevent-1.3e (PSARC 2007/580)
libsocket.so.1
libnsl.so.1
libresolv.so.2
libc.so.1
6. Resources and Schedule:
6.1. Projected Availability:
Q3FY08
6.4. Product Approval Committee requested information:
6.4.1. Consolidation or Component Name:
SFWNV
SFW
6.5. ARC review type:
FastTrack