Skip site navigation (1) Skip section navigation (2)

Re: [GENERAL] pg_buffercache view

From: "Sorin N(dot) Ciolofan" <ciolofan(at)ics(dot)forth(dot)gr>
To: "'Bill Moran'" <wmoran(at)potentialtech(dot)com>
Cc: <pgsql-general(at)postgresql(dot)org>, <pgsql-admin(at)postgresql(dot)org>
Subject: Re: [GENERAL] pg_buffercache view
Date: 2007-04-26 13:05:14
Message-ID: (view raw, whole thread or download thread mbox)
Lists: pgsql-adminpgsql-general
I don't know the algorithm on which Postgre uses the shared buffers but I'd
like to find the principles behind it. Let's assume the following scenario:
I've set shared_buffers=3000
At the starting of Postgres there are 115 buffers used by database A
After the execution of some processing caused by a java methodA1()
invocation, 2850 buffers are used by A.
What happens next if these 2850 buffers remains used even if the methodA1()
finished its execution?
Suppose that now a methodA2() invocation occurs and this method works with
database A, too. Will be the 2850 buffers reused or will postgre throw an
"out of shared memory" exception?
What happens if a methodB() invocation occurs, assuming that this method
tries to work with database B?
How Postgre decides the allocation of shared_buffers?


-----Original Message-----
From: pgsql-general-owner(at)postgresql(dot)org
[mailto:pgsql-general-owner(at)postgresql(dot)org] On Behalf Of Bill Moran
Sent: Thursday, April 26, 2007 3:32 PM
To: Sorin N. Ciolofan
Cc: pgsql-general(at)postgresql(dot)org; pgsql-admin(at)postgresql(dot)org
Subject: Re: [ADMIN] [GENERAL] pg_buffercache view

In response to "Sorin N. Ciolofan" <ciolofan(at)ics(dot)forth(dot)gr>:

> Hello!
>  Do you know which could be the reasons that could conduce an application
> not release the shared buffers, even after the application was shut down?
>  I noticed that only if a pg_ctl restart command is issued some of the
> buffers are set free.

The reason would be "by design."

If the server flushes its cache every time the application restarts, the
cache isn't going to be very effective.

If PostgreSQL is using more shared buffers than you're comfortable with,
reduce the shared_buffers setting in the config.  That will allow the OS
to decide how to use the memory instead.

Bill Moran

---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?


In response to


pgsql-admin by date

Next:From: Bill MoranDate: 2007-04-26 13:28:57
Subject: Re: [GENERAL] pg_buffercache view
Previous:From: Robert TreatDate: 2007-04-26 12:36:11
Subject: Re: Finding time in WAL logs

pgsql-general by date

Next:From: Sim ZacksDate: 2007-04-26 13:09:05
Subject: Re: [pgadmin-support] questions about cursors
Previous:From: Cefull LoDate: 2007-04-26 13:04:54
Subject: Number of Queries

Privacy Policy | About PostgreSQL
Copyright © 1996-2017 The PostgreSQL Global Development Group