Re: pg_restore oddity?

From: "Florian G(dot) Pflug" <fgp(at)phlo(dot)org>
To: Heikki Linnakangas <heikki(at)enterprisedb(dot)com>
Cc: Mario Weilguni <mweilguni(at)sime(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: pg_restore oddity?
Date: 2007-10-12 15:16:14
Message-ID: 470F8FBE.2080806@phlo.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Heikki Linnakangas wrote:
> Mario Weilguni wrote:
>> I cannot use "-1" for performance, because some gist stuff has changed
>> and the restore fails. But there seems to be no option for pg_restore to
>> use transactions for data restore, so it's very very slow (one million
>> records, each obviously in it's own transaction - because a separate
>> session "select count(1) from logins" shows a growing number).
>
> By default, pg_dump/pg_restore uses a COPY command for each table, and
> each COPY executes as a single transaction, so you shouldn't see the row
> count growing like that. Is the dump file in --inserts format?
>
>> It would be nice to use transactions for the data stuff itself, but not
>> for schema changes or functions. I know I can use separate pg_restore
>> runs for schema and data, but it's complicated IMHO.
>
> pg_restore -s foo
> pg_restore -a -1 foo
>
> doesn't seem too complicated to me. Am I missing something?

Doesn't pg_restore create the indices *after* loading the data if you let it
restore the schema *and* the data in one step? The above workaround would
disable that optimization, thereby making the data-restore phase much more costly.

Now that I think about it, I remember that I've often whished that we not only
had --schema-only and --data-only, but also --schema-unconstrained-only and
--constraints-only.

regards, Florian Pflug

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Gokulakannan Somasundaram 2007-10-12 15:16:29 Re: Including Snapshot Info with Indexes
Previous Message Dave Page 2007-10-12 15:09:46 Re: pg_tablespace_size()