From: | Alvaro Herrera <alvherre(at)commandprompt(dot)com> |
---|---|
To: | Robert Haas <robertmhaas(at)gmail(dot)com> |
Cc: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Steve Singer <ssinger(at)ca(dot)afilias(dot)info>, PostgreSQL-development Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: skip WAL on COPY patch |
Date: | 2011-08-23 20:51:43 |
Message-ID: | 1314132622-sup-1708@alvh.no-ip.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Excerpts from Robert Haas's message of mar ago 23 17:43:13 -0300 2011:
> On Tue, Aug 23, 2011 at 4:17 PM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> > Robert Haas <robertmhaas(at)gmail(dot)com> writes:
> >> What I think would be really interesting is a way to make this work
> >> when the table *isn't* empty. In other words, have a COPY option that
> >> (1) takes an exclusive lock on the table, (2) writes the data being
> >> inserted into new pages beyond the old EOF, and (3) arranges for crash
> >> recovery or transaction abort to truncate the table back to its
> >> previous length. Then you could do fast bulk loads even into a table
> >> that's already populated, so long as you don't mind that the table
> >> will be excusive-locked and freespace within existing heap pages won't
> >> be reused.
> >
> > What are you going to do with the table's indexes?
>
> Oh, hmm. That's awkward.
If you see what I proposed, it's simple: you can scan the new segment(s)
and index the tuples found there (maybe in bulk which would be even
faster).
--
Álvaro Herrera <alvherre(at)commandprompt(dot)com>
The PostgreSQL Company - Command Prompt, Inc.
PostgreSQL Replication, Consulting, Custom Development, 24x7 support
From | Date | Subject | |
---|---|---|---|
Next Message | Hitoshi Harada | 2011-08-23 20:53:43 | Short document fix |
Previous Message | Robert Haas | 2011-08-23 20:43:13 | Re: skip WAL on COPY patch |