Persistent Connections in Webserver Environment

From: Hannes Dorbath <light(at)theendofthetunnel(dot)de>
To: pgsql-general(at)postgresql(dot)org
Subject: Persistent Connections in Webserver Environment
Date: 2005-05-02 12:45:31
Message-ID: 42761a1b$0$24370$8fe63b2a@news.disputo.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

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 ;/

Thanks in advance

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Craig Bryden 2005-05-02 12:51:55 Re: scripts in Postgres
Previous Message Dinesh Pandey 2005-05-02 12:36:46 unable to open editor.