Re: Select max(id) causes AccessExclusiveLock?

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Edson Richter <edsonrichter(at)hotmail(dot)com>
Cc: pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: Re: Select max(id) causes AccessExclusiveLock?
Date: 2014-04-28 15:01:01
Message-ID: 12515.1398697261@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Edson Richter <edsonrichter(at)hotmail(dot)com> writes:
> When I issue a
> select max(id) from MyTableName
> Postgres 9.2.7 is scaling a AccessExclusiveLock and causing large delays.

Really?

regression=# create table MyTableName (
regression(# id integer not null primary key,
regression(# seqYear char(4),
regression(# seqCount integer);
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "mytablename_pkey" for table "mytablename"
CREATE TABLE
regression=# begin;
BEGIN
regression=# select max(id) from MyTableName;
max
-----

(1 row)

regression=# select * from pg_locks;
locktype | database | relation | page | tuple | virtualxid | transactionid | classid | objid | objsubid | virtualtransaction | pid | mode | granted | fastpath
------------+----------+----------+------+-------+------------+---------------+---------+-------+----------+--------------------+-------+-----------------+---------+----------
relation | 16384 | 11069 | | | | | | | | 2/120853 | 12432 | AccessShareLock | t | t
relation | 16384 | 42142 | | | | | | | | 2/120853 | 12432 | AccessShareLock | t | t
relation | 16384 | 42139 | | | | | | | | 2/120853 | 12432 | AccessShareLock | t | t
virtualxid | | | | | 2/120853 | | | | | 2/120853 | 12432 | ExclusiveLock | t | t
(4 rows)

I see nothing higher than AccessShareLock on the table.

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Edson Richter 2014-04-28 16:53:51 Re: Select max(id) causes AccessExclusiveLock?
Previous Message Edson Richter 2014-04-28 13:44:29 Select max(id) causes AccessExclusiveLock?