Re: Continuous inserts...

From: "Poul L(dot) Christiansen" <plc(at)faroenet(dot)fo>
To: Joerg Hessdoerfer <Joerg(dot)Hessdoerfer(at)sea-gmbh(dot)com>
Cc: Stephan Szabo <sszabo(at)megazone23(dot)bigpanda(dot)com>, pgsql-sql(at)postgresql(dot)org
Subject: Re: Continuous inserts...
Date: 2000-08-18 10:57:55
Message-ID: 399D16B3.1E74DB8B@faroenet.fo
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

I'm not familiar with rules. Could you please post the SQL for creating the rule
that you've created?

I going to make such a setup in the near future and this seems to .

Joerg Hessdoerfer wrote:

> Hi!
>
> Thanks all for your input...
>
> At 09:15 17.08.00 -0700, you wrote:
> [...]
> > > Question: would it work to use a transaction to perform the rename?
> > >
> > > i.e.: continuous insert into table 'main' from client.
> > >
> > > From somewhere else, execute:
> > >
> > > begin;
> > > alter table main rename to vac_main;
> > > create table main (...);
> > > end;
> > >
> > > would the inserter notice this? Read: would ALL inserts AT ANY TIME
> > succeed?
> >
> >Unfortunately -- no. Also, bad things can happen if the transaction
> >errors since the rename happens immediately. There's been talk on
> >-hackers about this subject in the past.
> >
> >However, you might be able to do something like this, but
> >I'm not sure it'll work and it's rather wierd:
> >
> >Have three tables you work with, a and b and c
> >
> >Set up rule on a to change insert to insert on b.
> >Insert into a.
> >When you want to vacuum, change the rule to insert to c.
> >Vacuum b
> >Change rule back
> >move rows from a and c into b
> >vacuum c
> [...]
>
> Good idea - I immediately tested it - rules rule! That seems to work perfectly,
> and the client doesn't even see it happen (except for 'selects', one would
> have to setup
> a rule to return something meaningful then...).
>
> I did:
> Two tables, a and b.
> Normally, insert into a.
> When Vacuuming starts, create rule on a to insert into b
> Vacuum a
> drop rule
> copy records from b to a
> vacuum b
>
> Why did you suppose three tables? Did I overlook something?
>
> Greetings,
> Joerg
> +------**** Science & Engineering Applications GmbH ****------+
> | |
> | Joerg Hessdoerfer |
> | Leading SW developer Phone: +49 (0)2203-962211 |
> | S.E.A GmbH Fax: -962212 |
> | D-51147 Koeln Internet: joerg(dot)hessdoerfer(at)sea-gmbh(dot)com |
> | http://www.sea-gmbh.com |
> +---------------------------------------------------------------+

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Joerg Hessdoerfer 2000-08-18 11:21:21 Re: Continuous inserts...
Previous Message Jerome Raupach 2000-08-18 08:14:07 [Fwd: Optimization in C]