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 <[email protected]> > 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 クルズ クリスチアン ダニエル
