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
>
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? |