Attached is a patch that adds a namespace capability to reloptions. It
works this way:
alter table foo set (namespace.option = value)
Currently the only namespace that does anything is "toast". What it
does is store the option in the toast table pg_class.reloptions.
It works fine, i.e. I can set a toast table fillfactor with a command
that references the main table. I am also able to do this:
CREATE TABLE foo (a int, b text) WITH (fillfactor = 80, toast.fillfactor = 75);
and it correctly sets the fillfactor for both tables.
This uses a new parse node. One possible disadvantage is that a command
like this works, but does nothing:
alvherre=# alter table foo set (test.foo = 1);
ALTER TABLE
This now needs pg_dump support to be complete.
--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.