Re: Bugs/slowness inserting and indexing cubes - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Bugs/slowness inserting and indexing cubes
Date
Msg-id 29028.1328728509@sss.pgh.pa.us
Whole thread Raw
In response to Bugs/slowness inserting and indexing cubes  (Jay Levitt <jay.levitt@gmail.com>)
Responses Re: Bugs/slowness inserting and indexing cubes  (Robert Haas <robertmhaas@gmail.com>)
List pgsql-hackers
Jay Levitt <jay.levitt@gmail.com> writes:
> [Posted at Andres's request]
> TL;DR: Inserting and indexing cubes is slow and/or broken in various ways in 
> various builds.

Not sure yet about most of these, but I know the reason for this one:

> 2. In both 9.1 and 9.2, there is a long delay before CREATE INDEX realizes 
> it can't work on an unlogged table

That error is thrown in gistbuildempty, which is not called until after
we have finished building the main-fork index.  This is a tad unfriendly
when the table already contains lots of data.

ISTM there are two ways we could fix this:

1. Introduce a duplicative test at the start of gistbuild().

2. Rearrange the order of operations in index_build() so that the init
fork is made first.

Both of these are kinda ugly, but #2 puts the ugliness into someplace
that shouldn't have to know about it, and furthermore someplace that's
unlikely to get reverted if/when gist is fixed to not have this problem.
So I think I favor #1.  Other opinions anyone?
        regards, tom lane


pgsql-hackers by date:

Previous
From: Peter Geoghegan
Date:
Subject: Re: Progress on fast path sorting, btree index creation time
Next
From: Robert Haas
Date:
Subject: Re: Bugs/slowness inserting and indexing cubes