Re: patch : Allow toast tables to be moved to a different tablespace - Mailing list pgsql-hackers

From Julien Tachoires
Subject Re: patch : Allow toast tables to be moved to a different tablespace
Date
Msg-id CAFEQCbEq07OopgE5xFYv2Q3eMq45hRSJkjCBO+kvpJq9NEVhow@mail.gmail.com
Whole thread Raw
In response to Re: patch : Allow toast tables to be moved to a different tablespace  (Alvaro Herrera <alvherre@commandprompt.com>)
Responses Re: patch : Allow toast tables to be moved to a different tablespace  (Robert Haas <robertmhaas@gmail.com>)
Re: patch : Allow toast tables to be moved to a different tablespace  (Alex Shulgin <ash@commandprompt.com>)
List pgsql-hackers
2011/12/15 Alvaro Herrera <alvherre@commandprompt.com>:
>
> Uhm, surely you could compare the original toast tablespace to the heap
> tablespace, and if they differ, handle appropriately when creating the
> new toast table?  Just pass down the toast tablespace into
> AlterTableCreateToastTable, instead of having it assume that
> rel->rd_rel->relnamespace is sufficient.  This should be done in all
> cases where a toast tablespace is created, which shouldn't be more than
> a handful of them.

Thank you, that way seems right.
Now, I distinguish before each creation of a TOAST table with
AlterTableCreateToastTable() : if it will create a new one or recreate
an existing one.
Thus, in create_toast_table() when toastTableSpace is equal to
InvalidOid, we are able :
- to fallback to the main table tablespace in case of new TOAST table creation
- to keep it previous tablespace in case of recreation.

Here's a new version rebased against HEAD.

Regards,

--
JT

Attachment

pgsql-hackers by date:

Previous
From: Kohei KaiGai
Date:
Subject: PG-Strom - A GPU optimized asynchronous executor module
Next
From: Andrew Dunstan
Date:
Subject: Re: JSON for PG 9.2