On Thu, Oct 27, 2005 at 09:12:15PM -0400, Andrew Dunstan wrote: > The docs have this description for pg_class::relfilenode: "Name of the > on-disk file of this relation; 0 if none". However, Elein just pointed > out to me that there are no entries with 0, so this description seems > incorrect. What should we say? It appears that in at least some of these > cases the value is the same as the oid.
Is 0 a legitimate value now that pg_xactlock is gone? In pre-8.1 clusters that's the only relation I see with relfilenode 0, but maybe that's just because I don't have anything defined that would have relfilenode 0 (what, if anything, would?). Composite types have relfilenode set even though they don't appear to have an on-disk file -- should they be 0? Based on what I've seen I've assumed that relfilenode starts out the same as oid but can change if you do something that rewrites the table (truncate, cluster, alter column type, etc.). I haven't dug into the code to confirm that, though. -- Michael Fuhr ---------------------------(end of broadcast)--------------------------- TIP 9: In versions below 8.0, the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match