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)
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 |