Andrew Dunstan <and...@dunslane.net> writes:
> While investigating a client problem I just observed that pg_dump takes 
> a surprisingly large amount of time to dump a schema with a large number 
> of views. The client's hardware is quite spiffy, and yet pg_dump is 
> taking many minutes to dump a schema with some 35,000 views. Here's a 
> simple test case:

>     create schema views;
>     do 'begin for i in 1 .. 10000 loop execute $$create view views.v_$$
>     || i ||$$ as select current_date as d, current_timestamp as ts,
>     $_$a$_$::text || n as t, n from generate_series(1,5) as n$$; end
>     loop; end;';

> On my modest hardware this database took 4m18.864s for pg_dump to run. 

It takes about that on my machine too ... with --enable-cassert.
oprofile said that 90% of the runtime was going into AllocSetCheck,
so I rebuilt without cassert, and the runtime dropped to 16 seconds.
What were you testing?

(Without cassert, it looks like LockReassignCurrentOwner is the next
biggest time sink; I'm wondering if there's some sort of O(N^2) behavior
in there.)

                        regards, tom lane

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to