Erik Jones <erik@xxxxxxxxxx> 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 ... regards, tom lane