On 11/10/2013 12:57 AM, Robert Haas wrote: > On Thu, Nov 7, 2013 at 10:56 AM, Antonin Houska > <antonin.hou...@gmail.com> wrote: >> catalog/catalog.c:GetNewRelFileNode() and its calls indicate that the >> following change makes sense: >> >> >> diff --git a/src/include/storage/relfilenode.h >> b/src/include/storage/relfilenode.h >> index 75f897f..7190974 100644 >> --- a/src/include/storage/relfilenode.h >> +++ b/src/include/storage/relfilenode.h >> @@ -55,7 +55,7 @@ typedef enum ForkNumber >> * relNode identifies the specific relation. relNode corresponds to >> * pg_class.relfilenode (NOT pg_class.oid, because we need to be able >> * to assign new physical files to relations in some situations). >> - * Notice that relNode is only unique within a particular database. >> + * Notice that relNode is only unique within a particular tablespace. >> * >> * Note: spcNode must be GLOBALTABLESPACE_OID if and only if dbNode is >> * zero. We support shared relations only in the "global" tablespace. >> >> >> // Antonin Houska (Tony) > > Technically speaking, I think it's only guaranteed to be unique with a > database-tablespace combination. In other words, the same OID can be > reused as a relfilenode if *either* of those two values differs.
You're right. I missed the fact that Postgres (unlike another DBMS that I worked with) allows for tablespace to be shared across databases. // Antonin Houska (Tony) -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers