Обсуждение: BUG #8000: ExclusiveLock on a simple SELECT ?

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

BUG #8000: ExclusiveLock on a simple SELECT ?

От
roberto.menoncin@netspa.it
Дата:
The following bug has been logged on the website:

Bug reference:      8000
Logged by:          Roberto
Email address:      roberto.menoncin@netspa.it
PostgreSQL version: 9.2.3
Operating system:   CentOS 5.6 (Final)
Description:        =


Hy,

after upgrading to version 9.2.3 we having a performance degradation. =

We are investigating the matter on several fronts.
We've seen that Postgres (9.2.3) creates ExclusiveLock even with simple
SELECT * From myschema.mytable.

Is it normal ?

Thank you

Re: BUG #8000: ExclusiveLock on a simple SELECT ?

От
Heikki Linnakangas
Дата:
On 27.03.2013 15:07, roberto.menoncin@netspa.it wrote:
> after upgrading to version 9.2.3 we having a performance degradation.
> We are investigating the matter on several fronts.
> We've seen that Postgres (9.2.3) creates ExclusiveLock even with simple
> SELECT * From myschema.mytable.

You mean like this:

postgres=# create table mytable(i int4);
CREATE TABLE
postgres=# begin;
BEGIN
postgres=# select * from mytable;
  i
---
(0 rows)

postgres=# select * from pg_locks;
   locktype  | database | relation | page | tuple | virtualxid |
transactionid |
classid | objid | objsubid | virtualtransaction |  pid  |      mode
   | gran
ted | fastpath
------------+----------+----------+------+-------+------------+---------------+-
--------+-------+----------+--------------------+-------+-----------------+-----
----+----------
  relation   |    12010 |    11069 |      |       |            |
        |
         |       |          | 1/3                | 19811 |
AccessShareLock | t
     | t
  relation   |    12010 |    16482 |      |       |            |
        |
         |       |          | 1/3                | 19811 |
AccessShareLock | t
     | t
  virtualxid |          |          |      |       | 1/3        |
        |
         |       |          | 1/3                | 19811 | ExclusiveLock
   | t
     | t
(3 rows)

That last ExclusiveLock is on the transactions virtual transactaction
ID. Not on the table. There is no change from previous versions here.

- Heikki