pg.ddx.io  pgsql-admin@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: H. Hall <hhall1001@reedyriver.com>
To: C K <shreeseva.it@gmail.com>
To: pgsql-admin@postgresql.org <pgsql-admin@postgresql.org>
Subject: Re: Managing connections
Date: Thu, 07 Aug 2008 05:39:31 -0400
Message-ID: <489AC2D3.6030600@reedyriver.com> (raw)
In-Reply-To: <d3561eb00808061004w41371ee3h3d9a87be9ed9cd20@mail.gmail.com>
References: <d3561eb00808061004w41371ee3h3d9a87be9ed9cd20@mail.gmail.com>

C K wrote:
> Dear Friends,
> I want to know if I open a table to view the data a new connection is 
> opened. If I open another table/execute a query does a another new 
> connection is opened? As per manual, I know that for a database 
> cluster and the same port a postgresql instance runs. But if we run 
> multiple SQL statements from same client machine with same username, 
> does postgresql creates a new instance?
How can connections to the db are handled is determined by the 
application program that accesses the database. Some application 
programs create a connection for each user and re-use it each time the 
user accesses the database. The app is also responsible for closing the 
connection when the user signs off.

Other apps create a pool of connections and lease a connection on demand 
to each operation that accesses the db. When the operation is complete, 
the connection is returned to the pool.  This is the most efficient way 
to use connections and I would recommend this approach for just about 
any program.

We created our own connection pool program because we wanted a 
connection pool that we could use to access any db and because we 
considered it to be a key technology.  It's a good thing that we did 
because we started out using MS SQLServer for our SaaS applications and 
migrated to Postgres.  Migration was a breeze.

Postgresql offers a connection pool which I have not used but appears to 
be highly regarded. You can find info about it here: 
http://pgpool.projects.postgresql.org/

Some apps are not well designed and don't close connections or un-lease 
connections when they should. I call this phenomena "leaking 
connections". You can detect this by having everyone sign off the 
application and see how many connections are still open.

Cheers,
HH
> If yes, how to manage memory? (As per my observations, normally each 
> postgresql instance takes 5-10 MB. So if we have to manage 
> simultenious 1000 connections, it will require 1000*5MB=5GB + system 
> memory requirements (approx. 1 GB) = total 6 GB (min.) Does this is 
> correct?)
> Please give the details. I am using Win XP Pro with PostgreSQL 8.3.
> Thanks
> CPK
>
> -- 
> Keep your Environment clean and green.
>
> --------------------------------
>
>
>


-- 
H. Hall
ReedyRiver Group LLC
http://www.reedyriver.com




view thread (4+ messages)  latest in thread

Message-ID: <489AC2D3.6030600@reedyriver.com>
Permalink:  ../489AC2D3.6030600@reedyriver.com/
Also on:    postgresql.org/message-id/489AC2D3.6030600@reedyriver.com

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-admin@postgresql.org
  Cc: hhall1001@reedyriver.com, shreeseva.it@gmail.com
  Subject: Re: Managing connections
  In-Reply-To: <489AC2D3.6030600@reedyriver.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox