Re: Problem with table lock within a function

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Sorry... Long time not using pg_locks...

My function (on pid 20125) was running, pid 25743 requested an exclusive lock and is waiting, and all others were waiting for this one.

2009/4/8 Daniel Cristian Cruz <danielcristian@xxxxxxxxx>
Hi all,

I had a big function (the same one mentioned before) which is locking a table, where it doesn't use the table for updates, just selects. (PostgreSQL 8.2)

My pg_locks had:

sgn=# SELECT * FROM pg_locks WHERE relation = 1706665;
 locktype | database | relation | page | tuple | transactionid | classid | objid | objsubid | transaction |  pid  |        mode         | granted
----------+----------+----------+------+-------+---------------+---------+-------+----------+-------------+-------+---------------------+---------
 relation |  1705022 |  1706665 |      |       |               |         |       |          |   160710046 | 20125 | AccessShareLock     | t
 relation |  1705022 |  1706665 |      |       |               |         |       |          |   160721896 | 24198 | AccessShareLock     | f
 relation |  1705022 |  1706665 |      |       |               |         |       |          |   160721876 | 25744 | AccessShareLock     | f
 relation |  1705022 |  1706665 |      |       |               |         |       |          |   160721874 | 25743 | AccessExclusiveLock | f
(4 registros)


What could be wrong? How could I get an access share lock only using select? Any way to avoid it? My fuction runs for 3 minutes and every developer is trying to kill me, because they are waiting for their results.

Regards,
--
Daniel Cristian Cruz
クルズ  クリスチアン ダニエル



--
Daniel Cristian Cruz
クルズ  クリスチアン ダニエル

[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux