Re: not finding rows using ctid - Mailing list pgsql-general

From AI Rumman
Subject Re: not finding rows using ctid
Date
Msg-id CAGoODpe215oM4KzecjYC0R6WdqCptbijyZsaSbJ_EMBm9GZdcA@mail.gmail.com
Whole thread Raw
In response to Re: not finding rows using ctid  (Adrian Klaver <adrian.klaver@aklaver.com>)
Responses Re: not finding rows using ctid  (Adrian Klaver <adrian.klaver@aklaver.com>)
List 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.klaver@aklaver.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.klaver@aklaver.com

pgsql-general by date:

Previous
From: David G Johnston
Date:
Subject: Re: dump/restore with a hidden dependency?
Next
From: Adrian Klaver
Date:
Subject: Re: not finding rows using ctid