Effectively, my idea is not to chill/break the HOT chains during index
creation, but rather to abandon them and wait for VACUUM to clean them
up.
My idea is much closer to the idea of a bit per index on every tuple,
except the tuple xmax and pg_index xid replace them.
---------------------------------------------------------------------------
Bruce Momjian wrote:
> Pavan Deolasee wrote:
> > On 3/21/07, Bruce Momjian <bruce@momjian.us> wrote:
> > >
> > >
> > >
> > > I am worried that will require CREATE INDEX to wait for a long time.
> >
> >
> >
> > Not unless there are long running transactions. We are not waiting
> > for the lock, but only for the current transactions to finish.
>
> Waiting for all transactions might take a while, no?
>
> > > Is the pg_index xid idea too complex? It seems to give you the
> > > per-tuple index bit, without the restrictions.
> >
> >
> >
> > How do we handle HEAP_ONLY tuple cleanup ? If I understood
> > the proposal correctly, at the end of the create index, a HEAP_ONLY
> > tuple may have pointer from the new index, isn't it ?
>
> Right. You would need vacuum to clean up the HEAP_ONLY tuples. I just
> sent an email about those deails. We might have autovacuum check
> pg_index and do it automatically.
>
> --
> Bruce Momjian <bruce@momjian.us> http://momjian.us
> EnterpriseDB http://www.enterprisedb.com
>
> + If your life is a hard drive, Christ can be your backup. +
>
> ---------------------------(end of broadcast)---------------------------
> TIP 3: Have you checked our extensive FAQ?
>
> http://www.postgresql.org/docs/faq
-- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB
http://www.enterprisedb.com
+ If your life is a hard drive, Christ can be your backup. +