> Leon <leon@udmnet.ru> writes:
> > I'm afraid that's mainly because fields in Postgres have variable
> > length and after update they go to the end of the table. Am I right?
> > In that case there could be done such referencing only with
> > tables with wixed width rows, whose updates can naturally be done
> > without moving. It is a little sacrifice, but it is worth it.
>
> No, you are not right. Tuple updates can *never* be done without
> moving the tuple, because the old tuple value must not be overwritten
> until and unless the transaction is committed. (Under MVCC, it may
> need to stick around even longer than that, I believe.) Thus, a tuple
> update would require an update (and move) of every referencing tuple,
> which could cascade into updates of tuples that reference those tuples,
> etc.
Yes, Thanks, Tom. This is exactly the issue.
-- Bruce Momjian | http://www.op.net/~candle maillist@candle.pha.pa.us | (610)
853-3000+ If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill,
Pennsylvania19026