Re: [PERFORM] Locking in PostgreSQL?
От | Jens Schipkowski |
---|---|
Тема | Re: [PERFORM] Locking in PostgreSQL? |
Дата | |
Msg-id | op.tj43bqe481rjf6@xjens.apus.local обсуждение исходный текст |
Ответ на | Re: [PERFORM] Locking in PostgreSQL? (Dave Cramer <pg@fastcrypt.com>) |
Ответы |
Re: [PERFORM] Locking in PostgreSQL?
|
Список | pgsql-general |
On Wed, 06 Dec 2006 13:29:37 +0100, Dave Cramer <pg@fastcrypt.com> wrote: > Unless you specifically ask for it postgresql doesn't lock any rows when > you update data. > Thats not right. UPDATE will force a RowExclusiveLock to rows matching the WHERE clause, or all if no one is specified. @Joost Kraaijeveld: Yes, because there is no EntryExclusiveLock or something like that. Roughly you can say, each UPDATE statement iterates through the affected table and locks the WHERE clause matching records (rows) exclusivly to prevent data inconsistancy during the UPDATE. After that your rows will be updated and the lock will be repealed. You can see this during an long lasting UPDATE by querying the pg_locks with joined pg_stats_activity (statement must be enabled). > Dave > On 6-Dec-06, at 2:04 AM, Joost Kraaijeveld wrote: > >> Does PostgreSQL lock the entire row in a table if I update only 1 >> column? >> >> >> --Groeten, >> >> Joost Kraaijeveld >> Askesis B.V. >> Molukkenstraat 14 >> 6524NB Nijmegen >> tel: 024-3888063 / 06-51855277 >> fax: 024-3608416 >> web: www.askesis.nl >> >> ---------------------------(end of broadcast)--------------------------- >> TIP 9: In versions below 8.0, the planner will ignore your desire to >> choose an index scan if your joining column's datatypes do not >> match >> > > > ---------------------------(end of broadcast)--------------------------- > TIP 9: In versions below 8.0, the planner will ignore your desire to > choose an index scan if your joining column's datatypes do not > match CU, Jens -- ** Jens Schipkowski
В списке pgsql-general по дате отправления: