Re: Tablespace-level Block Size Definitions - Mailing list pgsql-hackers

From Alvaro Herrera
Subject Re: Tablespace-level Block Size Definitions
Date
Msg-id 20050531211033.GA10621@surnet.cl
Whole thread Raw
In response to Tablespace-level Block Size Definitions  ("Jonah H. Harris" <jharris@tvi.edu>)
List pgsql-hackers
On Tue, May 31, 2005 at 02:55:29PM -0600, Jonah H. Harris wrote:
> Hey everyone,
> 
> I'm sure this has been thought of but was wondering whether anyone had 
> discussed the allowance of run-time block size specifications at the 
> tablespace level?  I know that a change such as this would substantially 
> impact buffer operations, transactions, access methods, the storage 
> manager, and a lot of other stuff, however it would give an 
> administrator the ability to inhance performance for specific applications.

The problem I see with this proposal is that the buffer manager knows
how to handle only a equally-sized pages.  And the shared memory stuff
gets sized according to size * num_pages.  So what happens if a certain
tablespace A with pagesize=X gets to have a lot of its pages cached,
evicting pages from tablespace B with pagesize=Y, where Y < X?

While I think it could be workable to make the buffer manager handle
variable-sized pages, it could prove difficult to handle the shared
memory.  (We can't resize it while the server is running.)

-- 
Alvaro Herrera (<alvherre[a]surnet.cl>)
"La principal característica humana es la tontería"
(Augusto Monterroso)


pgsql-hackers by date:

Previous
From: "Jonah H. Harris"
Date:
Subject: Re: Tablespace-level Block Size Definitions
Next
From: Tom Lane
Date:
Subject: Re: Deadlock with tsearch2 index ...