From: | David G Johnston <david(dot)g(dot)johnston(at)gmail(dot)com> |
---|---|
To: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Code bug or doc bug? |
Date: | 2014-08-27 13:39:21 |
Message-ID: | 1409146761531-5816550.post@n5.nabble.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Bruce Momjian wrote
> On Wed, Aug 27, 2014 at 09:05:41AM -0400, Robert Haas wrote:
>> Another idea is to have a command that you can run, while connected to
>> a particular database, that updates the default tablespace for that
>> database without actually moving any data on disk - i.e. it sets
>> pg_database.dattablespace, and then updates every pg_class row where
>> reltablespace = 0 to the old default tablespace, and pg_class row
>> where reltablespace = the new tablespace ID to 0. Then you can move
>> individual relations afterwards if you feel like it. But that might
>> still require a lot of locks, and I think we also have a limitation
>> that some relations (the mapped ones?) have to be in the database's
>> default tablespace, which obviously wouldn't work here.
>>
>> So it's a tricky problem.
>
> Is there a doc patch to make here?
1. Last sentence change suggestion: "The target tablespace must be empty."
2. Based on Robert's comments it sounds like a "You cannot change the
default tablespace of the current database." comment should be added as
well.
Side note: I have no clue what the "mapped relations" Robert refers to
are...
If the locking problem is unsolvable, which seems to be the only realistic
reason why updating pg_class cannot be done somewhere in the process, could
we make it so that the same physical tablespace location can have multiple
pointers? The problem here would be that a subsequent move would only grab
those relations that are in the current tablespace by default and would
leave the ones that were present originally - unless they get moved in the
interim to the default tablespace (in this case by changing their oid to 0
manually first).
David J.
--
View this message in context: http://postgresql.1045698.n5.nabble.com/Code-bug-or-doc-bug-tp5816052p5816550.html
Sent from the PostgreSQL - hackers mailing list archive at Nabble.com.
From | Date | Subject | |
---|---|---|---|
Next Message | Fujii Masao | 2014-08-27 13:46:17 | Re: ALTER SYSTEM RESET? |
Previous Message | Robert Haas | 2014-08-27 13:34:35 | Re: Set new system identifier using pg_resetxlog |