the ctid seems to be the solution to my problem. I'm inserting the record in a transaction so the ctid shouldn't change while the transaction isn't finished (either rolled back or committed). One question though. How would I get the ctid of the just inserted record. GET DIAGNOSTICS only handles row count and oid per the docs. THX UC On Friday 02 December 2005 15:58, Tom Lane wrote: > "Jim C. Nasby" <jim@xxxxxxxxx> writes: > > Maybe the docs should be changed to just say that you should never reuse > > a ctid outside of the transaction you obtained the ctid in? > > That's not a sufficient rule either: someone else could still delete or > update the row while your transaction runs. You'd really have to SELECT > FOR UPDATE or FOR SHARE to be sure the ctid remains stable. (Of course, > this isn't an issue for the case of a row you just inserted yourself, > since no one else can see it yet to change it.) > > The paragraph defining ctid is not the place for a discussion of how it > could be used ... I'm not quite sure where is, though. > > regards, tom lane