"Hiroshi Inoue" <Inoue@tpf.co.jp> writes:
> But I'm now inclined to generate unique relation file name each time
> in order to have different file names for different versions of a same
> relation oid. Without chainging relation oids,we would be to do
> nothing about their attributes/constraints etc.
I was thinking about adding a "version number" to the pg_class entry
for a relation, and then having its actual filename look like
RELATIONOID_vVERSION.SEGMENT
Then we have:
* Table rename: doesn't change the filename at all
* VACUUM with rebuild or ADD/DROP COLUMN: write new data into files with an incremented version number. Also
heap_update the pg_class tuple with new version number. At instant of commit, voila: the new files are valid, the old
onesaren't. Works for indexes, too.
> Anyway this must be decided after sufficient discussion.
> It's not the time to do it now.
Agreed. I think we are too close to 7.0 beta to consider doing this.
We can start thinking about it for 7.1 though.
regards, tom lane