Обсуждение: Re: surprisingly slow creation of gist index used in exclude constraint
Chris Withers <chris@withers.org> writes:
> It has 4.1 million rows in it and while importing the data only
> takes a couple of minutes, when I did a test load into the new
> cluster, building the mkt_profile_period_col1_col4_col2_chan_excl
> index for the exclude constraint took 15 hours.
Don't recall for sure, but I think GIST index build is sensitive
to the maintenance_work_mem setting; did you have that cranked up?
> - failing that, what can I do to import and then create the index
> in the background?
CREATE INDEX CONCURRENTLY, perhaps.
regards, tom lane
On 14/05/2020 21:31, Tom Lane wrote: > Chris Withers <chris@withers.org> writes: >> It has 4.1 million rows in it and while importing the data only >> takes a couple of minutes, when I did a test load into the new >> cluster, building the mkt_profile_period_col1_col4_col2_chan_excl >> index for the exclude constraint took 15 hours. > > Don't recall for sure, but I think GIST index build is sensitive > to the maintenance_work_mem setting; did you have that cranked up? postgres=# show maintenance_work_mem; maintenance_work_mem ---------------------- 2GB (1 row) Would it be worth turning that up more? The server has ~130GB memory. >> - failing that, what can I do to import and then create the index >> in the background? > > CREATE INDEX CONCURRENTLY, perhaps. How would I bring this into play with respect to the dump and load cycle? Is there an option to pg_dump or something else I should use or is this a case of awk'ing the create index in the dump? Chris