pg.ddx.io  pgsql-performance@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Scott Marlowe <scott.marlowe@gmail.com>
To: growse <nabble@growse.com>
Cc: pgsql-performance@postgresql.org
Subject: Re: How do I bulk insert to a table without affecting read performance on that table?
Date: Sat, 26 Jan 2008 07:39:22 -0600
Message-ID: <dcc563d10801260539r33c08e45o1932b5c6f2ac2907@mail.gmail.com> (raw)
In-Reply-To: <15107074.post@talk.nabble.com>
References: <15099164.post@talk.nabble.com>
	<dcc563d10801251806r1a1d202anb1da4c30f6be9a09@mail.gmail.com>
	<15107074.post@talk.nabble.com>

On Jan 26, 2008 5:42 AM, growse <nabble@growse.com> wrote:
>
>
>
> Scott Marlowe-2 wrote:
> >
> > On Jan 25, 2008 5:27 PM, growse <nabble@growse.com> wrote:
> >>
> >> Hi,
> >>
> >> I've got a pg database, and a batch process that generates some metadata
> >> to
> >> be inserted into one of the tables. Every 15 minutes or so, the batch
> >> script
> >> re-calculates the meta data (600,000 rows), dumps it to file, and then
> >> does
> >> a TRUNCATE table followed by a COPY to import that file into the table.
> >>
> >> The problem is, that whilst this process is happening, other queries
> >> against
> >> this table time out. I've tried to copy into a temp table before doing an
> >> "INSERT INTO table (SELECT * FROM temp)", but the second statement still
> >> takes a lot of time and causes a loss of performance.
> >
> > Can you import to another table then
> >
> > begin;
> > alter table realtable rename to garbage;
> > alter table loadtable rename to realtable;
> > commit;
> >
> > ?
>
> This is a possibility. My question on this is that would an ALTER TABLE real
> RENAME TO garbage be faster than a DROP TABLE real?

I don't know.  They're both pretty fast.  I'd do a test, with parallel
contention on the table and see.



view thread (5+ messages)  latest in thread

Message-ID: <dcc563d10801260539r33c08e45o1932b5c6f2ac2907@mail.gmail.com>
Permalink:  ../dcc563d10801260539r33c08e45o1932b5c6f2ac2907@mail.gmail.com/
Also on:    postgresql.org/message-id/dcc563d10801260539r33c08e45o1932b5c6f2ac2907@mail.gmail.com

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-performance@postgresql.org
  Cc: scott.marlowe@gmail.com, nabble@growse.com
  Subject: Re: How do I bulk insert to a table without affecting read performance on that table?
  In-Reply-To: <dcc563d10801260539r33c08e45o1932b5c6f2ac2907@mail.gmail.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox