Re: pg_dump issues
От | Andrew Dunstan |
---|---|
Тема | Re: pg_dump issues |
Дата | |
Msg-id | 4E89D719.80705@dunslane.net обсуждение исходный текст |
Ответ на | Re: pg_dump issues (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | pgsql-hackers |
On 10/03/2011 12:47 AM, Tom Lane wrote: > Andrew Dunstan<andrew@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? Yeah, you're right, that must have been it. That's a big hit, I didn't realise cassert was so heavy. (Note to self: test with production build settings). I don't seem to be batting 1000 ... I still need to get to the bottom of why the client's machine is taking so long. I do notice that we seem to be doing a lot of repetitive tasks, e.g. calling pg_format_type() over and over for the same arguments. Would we be better off cacheing that? cheers andrew
В списке pgsql-hackers по дате отправления: