From: | sri harsha <sriharsha9992(at)gmail(dot)com> |
---|---|
To: | Albe Laurenz <laurenz(dot)albe(at)wien(dot)gv(dot)at> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Concurrent Inserts |
Date: | 2015-01-21 11:15:19 |
Message-ID: | CAP6OGLHKMi2PCFStCdVQSoPoOYzGG0ykRfg0BqEU__JLCaMRUA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Hi,
Actually i am using a FDW , in which the data is written into a single
file. So when i do concurrent inserts , the data is written into the file
simultaneously and this is causing a data corruption . Is TABLE LOCK the
only option available ??
--Harsha
On Wed, Jan 21, 2015 at 3:22 PM, Albe Laurenz <laurenz(dot)albe(at)wien(dot)gv(dot)at>
wrote:
> sri harsha wrote:
> > Is there any way to stop concurrent inserts to happen on a single
> table ??
> >
> > Query 1 : INSERT INTO TABLE_A SELECT * FROM TABLE1;
> > Query 2 : INSERT INTO TABLE_A SELECT * FROM TABLE2;
> > Query 3 : SELECT * FROM TABLE_A;
> >
> > Assume i have the above queries. Query 1 and Query 3 can occur
> concurrently . If one insert is taking
> > place , the other should wait. How do i achieve this ??
>
> Is that a typo and you really mean "query 1 an query 2" above?
>
> Why would you want to prevent concurrent inserts?
> Maybe you don't really need to hobble your performance like that.
>
> If you really want that, it is easy with table locks.
> Your INSERT could look like that:
>
> BEGIN;
> LOCK table_a IN EXCLUSIVE MODE;
> INSERT INTO table_a ...
> COMMIT;
>
> > How do the concurrent inserts take place in postgres ?? Is data
> stored temporarily for both queries
> > separately and then written into the table ??
>
> No, it is written to the table concurrently.
> A table is organized in pages of 8KB each, and there is no problem with
> writing to
> different pages concurrently.
>
> Yours,
> Laurenz Albe
>
From | Date | Subject | |
---|---|---|---|
Next Message | Albe Laurenz | 2015-01-21 11:33:47 | Re: Concurrent Inserts |
Previous Message | Albe Laurenz | 2015-01-21 09:52:02 | Re: Concurrent Inserts |