Обсуждение: BUG #6450: PQexec stuck.

Поиск
Список
Период
Сортировка

BUG #6450: PQexec stuck.

От
vipul.patel@elitecore.com
Дата:
The following bug has been logged on the website:

Bug reference:      6450
Logged by:          Vipul Patel
Email address:      vipul.patel@elitecore.com
PostgreSQL version: 8.4.5
Operating system:   linux
Description:=20=20=20=20=20=20=20=20

hi,
    I am using the PostgreSQL 8.4.5, I wrote C programm which Create table,
and insert record in it. after some number of recored it will stop.
inserting record and make entry in to other table for used to other process
this table was processed and removed/droped by that process. my programm
create new table and start inserting recored in to that table.

now, some time call of create table is stuck which is called by PQexec. to
resolve this i have to kill that postgres process and i have to perform
vacuming and reindexing on the data base. till then i am not able to create
even a simple table in database (create table tbl1(cl1 int);).=20

I know that PQexec is blocking call. but in this type of condition the
PQexec will return with failure error so we can handle it.

in current stat the PQexec will stuck till anyone not vacume and reindexing
the DB.

Re: BUG #6450: PQexec stuck.

От
"Kevin Grittner"
Дата:
<vipul.patel@elitecore.com> wrote:

> some time call of create table is stuck which is called by PQexec.

What locks and blocking do you see when this happens?

http://wiki.postgresql.org/wiki/Lock_Monitoring'

Have you considered getting an explicit lock with NOWAIT at the
start of your transaction, to test whether you can currently acquire
the rights to proceed?

> in current stat the PQexec will stuck till anyone not vacume and
> reindexing the DB.

I've never seen such a situation.  Are you sure that's really
needed, as opposed to something that just takes long enough that the
issue has cleared by the time you're finished with these steps?

-Kevin

Re: BUG #6450: PQexec stuck.

От
"Kevin Grittner"
Дата:
[rearranged to avoid top-posting: http://idallen.com/topposting.html]

Vipul Patel  wrote:
> On Thursday 09 February 2012 10:33 PM, Kevin Grittner wrote:
>> What locks and blocking do you see when this happens?
>>
>> http://wiki.postgresql.org/wiki/Lock_Monitoring'

> I don't understand why " CREATE TABLE " Need to lock.

To protect the integrity of the system tables.

> CREATE TABLE Statement gose Hang state, whether it is execute by
> any client using (PQexec) or Standard "psql".

If you want suggestions on how to accomplish your goals in the
presence of this locking, we'll need more information.

-Kevin

Re: BUG #6450: PQexec stuck.

От
Vipul Patel
Дата:
Hi,
             I don't understand why " CREATE TABLE " Need to lock.
CREATE TABLE Statement gose Hang state, whether it is execute by any
client using (PQexec) or Standard "psql".

Regards,
Vipul Patel.


On Thursday 09 February 2012 10:33 PM, Kevin Grittner wrote:
> <vipul.patel@elitecore.com>  wrote:
>
>> some time call of create table is stuck which is called by PQexec.
>
> What locks and blocking do you see when this happens?
>
> http://wiki.postgresql.org/wiki/Lock_Monitoring'
>
> Have you considered getting an explicit lock with NOWAIT at the
> start of your transaction, to test whether you can currently acquire
> the rights to proceed?
>
>> in current stat the PQexec will stuck till anyone not vacume and
>> reindexing the DB.
>
> I've never seen such a situation.  Are you sure that's really
> needed, as opposed to something that just takes long enough that the
> issue has cleared by the time you're finished with these steps?
>
> -Kevin
>
>