Search Postgresql Archives

Re: Getting all entries in a single block with ctid

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 16 Leden 2012, 17:15, Tore Halvorsen wrote:
> On Mon, Jan 16, 2012 at 4:08 PM, Tomas Vondra <tv@xxxxxxxx> wrote:
>
>> The only other solution is to check all possible items on the page.
>> There
>> may be up to 291 items (although it depends on block size and
>> architecture, see MaxHeapTuplesPerPage in access/htup.h).
>>
>> Nice to know.
>
>
>> Something like this should work
>>
>>  ctid = '(123,0)'::tid OR ctid = '(123,1)'::tid OR ctid = '(123,2)'::tid
>> OR ... OR ctid = '(123,290)'::tid
>>
>
> Yeah, that works, but it's kinda impractical... I'm mostly trying to
> figure
> out how fragmented a table is,
> by checking how must the blocks are shared - so that the worst one can be
> scheduled for clustering...

What about pgstattuple?

http://www.postgresql.org/docs/9.1/interactive/pgstattuple.html

Maybe it already does what you're trying to implement ...

Look at pageinspect module too

http://www.postgresql.org/docs/9.1/interactive/pageinspect.html

You're trying to do a quite low-level thing, so maybe this approach would
be more appropriate.

Tomas


-- 
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux