Re: Persistent Connections in Webserver Environment

From: Marco Colombo <pgsql(at)esiway(dot)net>
To: Hannes Dorbath <light(at)theendofthetunnel(dot)de>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Persistent Connections in Webserver Environment
Date: 2005-05-02 14:41:34
Message-ID: 1115044895.4163.27.camel@Frodo.esi
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Mon, 2005-05-02 at 14:45 +0200, Hannes Dorbath wrote:
> Hi,
> as the subject says I need some advice on setting up connection handling
> to PG in a webserver environment. It's a typical dual Xeon FreeBSD box
> running Apache2 with mod_php5 and PG 8. About 20 different applications
> (ecommerce systems) will be running on this box. Each app resides in
> it's own schema inside a single database. As far as I understand
> persistent connections from apache processes can only be reused if the
> authentication information of the allready existing connection is the
> same. So in case an apache process holds a persistent connection to
> database "test", auth'ed with username "user1" and another app wants to
> connect as "user2" the connection can't be reused and a new one will be
> spawned.
>
> So what we are doing atm is telling all apps to use the user "apache",
> grant access for this user to all schemas and fire "SET search_path TO
> <app_schema>;" at the startup of each app / script. It works, but I
> really would like to have an dedicated user for each app / schema for
> security reasons.
>
> The next better idea I came up with was to fire "SET SESSION
> AUTHORIZATION TO <user>;" at each app / script startup, but for this to
> work I would need to initially connect as superuser - and I really
> dislike the idea of having a webserver connecting as superuser :/
>
> Any ideas? I can't be the first person on earth with that problem ;/
>

Have you measured the real gain in using persistent connections at all?

In my experience, it's just a CPU vs RAM tradeoff. Before you go thru
the pain of setting up a weird authentication mechanism, try and
consider whether you really need persistent connections. Search the
lists, it has been discussed in the past. I remember of this thread:
http://archives.postgresql.org/pgsql-php/2005-02/msg00009.php

There may be others, too.

.TM.
--
____/ ____/ /
/ / / Marco Colombo
___/ ___ / / Technical Manager
/ / / ESI s.r.l.
_____/ _____/ _/ Colombo(at)ESI(dot)it

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Michael Fuhr 2005-05-02 15:01:32 Re: unable to open editor.
Previous Message Hannes Dorbath 2005-05-02 14:35:35 Re: Persistent Connections in Webserver Environment