Hi,Here is my patch to add the ALTER DATABASE WITH TABLESPACE statement. It is part of the TODO list. It intends to allow the move of all relations of a database in its new default tablespace. Comments welcome.
I had a first look on this and in my opinion the patch looks reasonable. I moved the usage of heap_modifytuple() to the new heap_modify_tuple() API (see attached new diff) and did other minor cleanups.
However, i'm not satisfied with the syntax, which is currently ALTER DATABASE name TABLESPACE foo. We use all over the place SET TABLESPACE (e.g. for tables and indexes) and SET SCHEMA for namespaces even, so this looks inconsistent. However, hacking this requires a little bit more parser-foo, a quick hack shows reduce conflicts due to SetResetClause rule. So what do we want in this case?
I did some minor additions in the docs as well. -- Thanks Bernd
alterdb_tablespace_v2.patch.bz2
Description: Binary data
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers