Re: not finding rows using ctid

From: AI Rumman <rummandba(at)gmail(dot)com>
To: Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>
Cc: pgsql-general General <pgsql-general(at)postgresql(dot)org>
Subject: Re: not finding rows using ctid
Date: 2014-08-07 21:14:41
Message-ID: CAGoODpe215oM4KzecjYC0R6WdqCptbijyZsaSbJ_EMBm9GZdcA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

I didn't execute any Vacuum Full and I tried to get the row after 3 hours
of the issue.

Thanks.

On Thu, Aug 7, 2014 at 1:51 PM, Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>
wrote:

> On 08/07/2014 12:40 PM, AI Rumman wrote:
>
>>
>> Hi,
>>
>> I am getting the logs as follows:
>>
>> LOG: process 32145 acquired ExclusiveLock on tuple (153420,5) of
>> relation 663326 of database 475999 after 1123.028 ms
>>
>>
>> But, when I am executing sqls to find the row on that table using the
>> ctid = '(153420,5)', I get no rows.
>>
>>
>> Any idea, why?
>>
>
> http://www.postgresql.org/docs/9.3/static/ddl-system-columns.html
> "ctid
>
> The physical location of the row version within its table. Note that
> although the ctid can be used to locate the row version very quickly, a
> row's ctid will change if it is updated or moved by VACUUM FULL. Therefore
> ctid is useless as a long-term row identifier. The OID, or even better a
> user-defined serial number, should be used to identify logical rows."
>
> Something changed the row between the time you saw it in the log and the
> time you did the query.
>
>
>>
>> Thanks.
>>
>>
>
> --
> Adrian Klaver
> adrian(dot)klaver(at)aklaver(dot)com
>

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Adrian Klaver 2014-08-07 21:21:36 Re: not finding rows using ctid
Previous Message David G Johnston 2014-08-07 21:12:12 Re: dump/restore with a hidden dependency?