Re: Performance problems - Indexes and VACUUM

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Josh Berkus" <josh(at)agliodbs(dot)com>
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: Performance problems - Indexes and VACUUM
Date: 2001-10-17 15:31:25
Message-ID: 27113.1003332685@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

"Josh Berkus" <josh(at)agliodbs(dot)com> writes:
> This is on 7.1.2 (SuSE 7.2, ReiserFS, PG built from source). Explicitly
> dropping the indexes before dropping the tables seems to have solved the
> problem. My guess, without understanding the guts of the thing at all,
> is that the transactional nature of the drop and re-create causes the
> indexes not to be fully cleared before they are re-built. Maybe it's
> even a reaction to the journaling file system.

I don't believe a single word of that explanation ... whatever is going
on here, that ain't it. A new table is going to have a new OID, and
so will its indexes; there is no way that Postgres will confuse it with
the old one, even if bits of the old one were still hanging around
somehow (which I don't believe either).

One thing to think about, if you are dropping and recreating tables in
a plpgsql function, is that you probably need to do it with EXECUTE
to avoid plan caching.

> BTW, any issues with PostgreSQL and DMA disk access?

Not unless your kernel or hardware are broken. But I have seen cases
where hardware problems (eg, bogus DMA controller) manifested themselves
only as database errors. Evidently Postgres was pushing the disk harder
than anything else on the system, so it was more likely to get bit by
a sporadic hardware booboo.

regards, tom lane

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Tom Lane 2001-10-17 15:34:21 Re: Triggers do not fire
Previous Message Reiner Dassing 2001-10-17 15:29:37 Re: Triggers do not fire