Re: Threads With Libpq

From: Alban Hertroys <haramrae(at)gmail(dot)com>
To: dinesh kumar <dineshkumar02(at)gmail(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Threads With Libpq
Date: 2012-08-01 13:09:31
Message-ID: 64BE3FA9-F209-4AA0-A3FD-1F1FC87CAFA0@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 1 Aug 2012, at 14:32, dinesh kumar wrote:

> Respected All,
>
> This is my first request/post in PG-Generals. If it is not the place for these kind of queries, then please guide me where i need to be.
>
> I have a quick question regarding "pthread" with PostgreSQL 9.0 Libpq. I'm facing a problem with "Pthread" and libpq. Please find the below program behavoiur.
>
> Connection_To_PG()
> {
> /* Making a connection to PG 9.0 */
> }
>
> void* Independent_Thread1()
> {
> while(1)
> {
> sleep(5);
> /* Doing 1 Insert Operation on Table A*/
> }
> }
>
> void* Independent_Thread2()
> {
> while(1)
> {
> sleep(5);
> /*Doing 1 Insert Operation on Table B*/
> }
>
> main()
> {
> pthread Ind1,Ind2;
> Connection_TO_PG();
> pthread_create(&Ind1,NULL,&Independent_Thread1,NULL);
> pthread_create(&Ind2,NULL,&Independent_Thread2,NULL);
> if(pthread_join(Ind1,NULL)<0)
> {
> printf("Ind1 is completed");
> }
> if(pthread_join(Ind2,NULL)<0)
> {
> printf("Ind2 is completed");
> }
> }

You need a separate connection per thread or you need to synchronise your queries onto the single central connection, meaning that other threads need to be blocked (from performing queries) while any thread is performing a query.

Alban Hertroys

--
Screwing up is an excellent way to attach something to the ceiling.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message AI Rumman 2012-08-01 13:59:18 Re: Where should I start for learn development
Previous Message dinesh kumar 2012-08-01 12:32:42 Threads With Libpq