Re: More 8.2 client issues (Was: [Slow dump?)

From: "Jim C(dot) Nasby" <jim(at)nasby(dot)net>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Erik Jones <erik(at)myemma(dot)com>, pgsql-performance(at)postgresql(dot)org
Subject: Re: More 8.2 client issues (Was: [Slow dump?)
Date: 2007-01-10 20:07:54
Message-ID: 20070110200753.GR12217@nasby.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

On Wed, Jan 03, 2007 at 11:56:20AM -0500, Tom Lane wrote:
> Erik Jones <erik(at)myemma(dot)com> writes:
> > Tom Lane wrote:
> >> I could see this taking an unreasonable amount of time if you had a huge
> >> number of pg_class rows or a very long search_path --- is your database
> >> at all out of the ordinary in those ways?
> >>
> > Well, running "select count(*) from pg_class;" returns 524699 rows
>
> Ouch.
>
> > our search path is the default. I'd also like to reiterate that \d
> > pg_class returns instantly when run from the 8.1.4 psql client connected
> > to the 8.2 db.
>
> I think I know where the problem is: would you compare timing of
>
> select * from pg_class where c.relname ~ '^(pg_class)$';
>
> select * from pg_class where c.relname ~ '^pg_class$';
>
> Recent versions of psql put parentheses into the regex pattern for
> safety in case it's got "|", but I just realized that that probably
> confuses the optimizer's check for an indexable regex :-(
>
> However, this only explains slowdown in psql's \d commands, which
> wasn't your original complaint ...

On the other hand, with 500k relations pg_dump is presumably going to be
doing a lot of querying of the catalog tables, so if it uses similar
queries...
--
Jim Nasby jim(at)nasby(dot)net
EnterpriseDB http://enterprisedb.com 512.569.9461 (cell)

In response to

Browse pgsql-performance by date

  From Date Subject
Next Message Jim C. Nasby 2007-01-10 20:15:26 Re: Performance of PostgreSQL on Windows vs Linux
Previous Message Jim C. Nasby 2007-01-10 20:01:15 Re: performance implications of binary placement