Hiroshi Inoue <Inoue@tpf.co.jp> writes:
> In READ COMMITTED mode, an app searches valid tuples first
> using the snapshot taken when the query started. It never
> searches already updated(to newer ones) and committed tuples
> at the point when the query started. Essentially t_ctid is
> only needed by the concurrently running backends.
[ thinks for awhile ] I see: you're saying that t_ctid is only
used by transactions that are concurrent with the deleting transaction,
so if there's a database crash there's no need to restore t_ctid.
Probably true, but still mighty ugly.
Meanwhile, I guess I gotta look elsewhere for a theory to explain
those reports of duplicate rows. Oh well...
regards, tom lane