Re: CREATE DATABASE with tablespace fix - Mailing list pgsql-patches

From Bruce Momjian
Subject Re: CREATE DATABASE with tablespace fix
Date
Msg-id 200408160108.i7G184P06124@candle.pha.pa.us
Whole thread Raw
In response to Re: CREATE DATABASE with tablespace fix  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-patches
Added to open items:

    * fix case where template db already uses target tablespace


---------------------------------------------------------------------------

Tom Lane wrote:
> Bruce Momjian <pgman@candle.pha.pa.us> writes:
> > I am a little confused why we can't just merge the directories?  The
> > relfilenodes would guarantee that the files are unique, right?
>
> Actually not: there is no uniqueness check on relfilenode beyond the
> indirect one of the files having to live in the same directory.  In the
> tablespace world it will be possible for tables in different tablespaces
> to have conflicting relfilenodes.  Admittedly this should be rare and
> it's probably good enough to fail only if a collision occurs --- but
> it's something that would have to be kept in mind while coding.
>
> Another issue is that since we aren't changing the template's pg_class,
> we would end up with a database in which some tables refer to the
> database's default tablespace explicitly (reltablespace = its OID) and
> some refer to it implicitly (reltablespace = 0).  I'm not sure what the
> consequences of that are, but it might not be good.  It would definitely
> be a state that you couldn't get into "normally".  (One fairly likely
> scenario for failure is if you then try to copy this database and change
> the default TS again...)
>
> > Seems we should apply this patch
>
> I think it needs more thought.  I've been busy with other issues and
> haven't expended any cycles on the problem myself ...
>
>             regards, tom lane
>

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

pgsql-patches by date:

Previous
From: Tom Lane
Date:
Subject: Re: CREATE DATABASE with tablespace fix
Next
From: Philip Warner
Date:
Subject: Re: [HACKERS] pg_dump 'die_on_errors'