Re: [HACKERS] Simple improvements to freespace allocation

2014-01-11 Thread Simon Riggs
On 9 January 2014 01:38, Jim Nasby wrote: > On 1/8/14, 1:43 AM, Heikki Linnakangas wrote: > > I've wanted the cluster case for a long time. I also see the use for the > RECENT scenario, especially if we had CLUSTER CONCURRENT that let you shrink > the head of the table as needed. > > But there's

Re: [HACKERS] Simple improvements to freespace allocation

2014-01-08 Thread Jim Nasby
On 1/8/14, 1:43 AM, Heikki Linnakangas wrote: I've wanted the cluster case for a long time. I also see the use for the RECENT scenario, especially if we had CLUSTER CONCURRENT that let you shrink the head of the table as needed. I suspect the in-memory case would only be useful if it could loo

Re: [HACKERS] Simple improvements to freespace allocation

2014-01-08 Thread Tom Lane
Heikki Linnakangas writes: > On 01/08/2014 08:56 AM, Simon Riggs wrote: >> * IN-MEMORY >> A large table may only have some of its blocks in memory. It would be >> useful to force a NBT to be a block already in shared_buffers IFF a >> table is above a certain size (use same threshold as seq scans,

Re: [HACKERS] Simple improvements to freespace allocation

2014-01-08 Thread Simon Riggs
On 8 January 2014 07:43, Heikki Linnakangas wrote: > On 01/08/2014 08:56 AM, Simon Riggs wrote: >> >> Current freesapce code gives a new block insert target (NBT) from >> anywhere in table. That isn't very useful with bigger tables and it >> would be useful to be able to specify different algorith

Re: [HACKERS] Simple improvements to freespace allocation

2014-01-07 Thread Heikki Linnakangas
On 01/08/2014 08:56 AM, Simon Riggs wrote: Current freesapce code gives a new block insert target (NBT) from anywhere in table. That isn't very useful with bigger tables and it would be useful to be able to specify different algorithms for producing NBTs. I've actually been surprised how little

[HACKERS] Simple improvements to freespace allocation

2014-01-07 Thread Simon Riggs
Current freesapce code gives a new block insert target (NBT) from anywhere in table. That isn't very useful with bigger tables and it would be useful to be able to specify different algorithms for producing NBTs. ALTER TABLE foo WITH (freespace = ); Three simple and useful models come to mind