Re: pg_reorg in core? - Mailing list pgsql-hackers

From Michael Paquier
Subject Re: pg_reorg in core?
Date
Msg-id CAB7nPqQnxXR9ORpgFHZOaqrebT8h9_PxvCysXM6GkiqYn-KVow@mail.gmail.com
Whole thread Raw
In response to Re: pg_reorg in core?  (Hitoshi Harada <umi.tanuki@gmail.com>)
Responses Re: pg_reorg in core?  (Simon Riggs <simon@2ndQuadrant.com>)
List pgsql-hackers


On Fri, Sep 21, 2012 at 1:00 PM, Hitoshi Harada <umi.tanuki@gmail.com> wrote:
I'm not familiar with pg_reorg, but I wonder why we need a separate
program for this task.  I know pg_reorg is ok as an external program
per se, but if we could optimize CLUSTER (or VACUUM which I'm a little
pessimistic about) in the same way, it's much nicer than having
additional binary + extension.  Isn't it possible to do the same thing
above within the CLUSTER command?  Maybe CLUSTER .. CONCURRENTLY?
CLUSTER might be more adapted in this case as the purpose is to reorder the table.
The same technique used by pg_reorg (aka table coupled with triggers) could lower the lock access of the table.
Also, it could be possible to control each sub-operation in the same fashion way as CREATE INDEX CONCURRENTLY.
By the way, whatever the operation, VACUUM or CLUSTER used, I got a couple of doubts:
1) isn't it be too costly for a core operation as pg_reorg really needs many temporary objects? Could be possible to reduce the number of objects created if added to core though...
2) Do you think the current CLUSTER is enough and are there wishes to implement such an optimization directly in core?
--
Michael Paquier
http://michael.otacoo.com

pgsql-hackers by date:

Previous
From: Michael Paquier
Date:
Subject: Re: pg_reorg in core?
Next
From: Tom Lane
Date:
Subject: Re: 64-bit API for large object