Finding new or modified rows since snapshot - Mailing list pgsql-general

From Meel Velliste
Subject Finding new or modified rows since snapshot
Date
Msg-id CAKDa2+=yOZ1YZZ9L=eFBbQiaa9N7ksDLUp8TuDMxiYAjnPeLFg@mail.gmail.com
Whole thread Raw
Responses Re: Finding new or modified rows since snapshot
List pgsql-general
My goal is to select rows that are new or have been modified since a given snapshot. I am doing it like this:

SELECT * FROM my_table WHERE NOT txid_visible_in_snapshot(xmin::TEXT::BIGINT, '123456:123456:'::TXID_SNAPSHOT);

On one hand, it seems to me that the txid_visible_in_snapshot function was taylor-made for what I am trying to accomplish. On the other hand, it seems wrong because the first argument of txid_visible_in_snapshot is BIGINT, and I am trying to coerce a xmin which is of type XID into this argument.

So I have three questions:
1) Is this a good way to accomplish my goal (keep in mind I have read-only access to the db)?
2) Will it fail when xmin wraps around at  2^32 or is txid_visible_in_snapshot smart about it?
3) Is it going to be performant (xmin is not indexed, is it)?

Thanks,
Meel

pgsql-general by date:

Previous
From: Adrian Klaver
Date:
Subject: Re: psql 8 warm standby strong start, weak finish
Next
From: akshunj
Date:
Subject: Re: Partition Help