Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search for
  Advanced Search

Re: \d on database with a lot of tables is slow


  • From: "Jim C. Nasby" <jnasby(at)pervasive(dot)com>
  • To: Rod Taylor <pg(at)rbt(dot)ca>
  • Cc: pgsql-hackers(at)postgresql(dot)org
  • Subject: Re: \d on database with a lot of tables is slow
  • Date: Sat, 24 Sep 2005 19:38:18 -0500
  • Message-id: <20050925003818(dot)GV7630(at)pervasive(dot)com>

On Sat, Sep 24, 2005 at 08:20:47PM -0400, Rod Taylor wrote:
> On Sat, 2005-09-24 at 18:59 -0500, Jim C. Nasby wrote:
> > I have a client with a database that contains 4000 relations according
> > to vacuum verbose, and \d in psql is painfully slow. In particular...
> > 
> >    ->  Seq Scan on pg_class c  (cost=0.00..2343.09 rows=6124 width=73) (actual time=0.325..22100.840 rows=16856 loops=1)
> >          Filter: (((relkind = 'r'::"char") OR (relkind = 'v'::"char") OR (relkind = 'S'::"char") OR (relkind = ''::"char")) AND pg_table_is_visible(oid))
> > 
> > That's off my laptop, but they're seeing similar issues on an 8-way
> > Opteron as well...
> > 
> > I've messed around with adding indexes to a copy of pg_class to no
> > avail. Any ideas on how to improve the performance?
> 
> It is probably the visibility checks. Is a \d fast if you include the
> full name (schema.table)?
> 
> I brought this up a while ago and Tom has since rearranged some of the
> psql queries to move the visibility check to come after the other where
> clause segments.
> 
> 
> It would be nice if the cost of the function could be added somehow --
> even if it was just a low, medium or high setting. This would allow the
> planner to shuffle the where clause executing ordering around in a
> reasonable manner.

\d tablename is fast, yes.

Maybe instead of re-arranging the query it would make more sense to roll
the visibility check into the query itself (probably using a new system
view).
-- 
Jim C. Nasby, Sr. Engineering Consultant      jnasby(at)pervasive(dot)com
Pervasive Software      http://pervasive.com    work: 512-231-6117
vcard: http://jim.nasby.net/pervasive.vcf       cell: 512-569-9461



Home | Main Index | Thread Index

Privacy Policy | PostgreSQL Archives hosted by Command Prompt, Inc. | Designed by tinysofa
Copyright © 1996 – 2008 PostgreSQL Global Development Group