Excerpts from Tom Lane's message of vie may 14 15:03:57 -0400 2010:
> Maybe a better solution is to have some kind of notion of a default-only
> entry, which is sufficient to insert the default into the struct but
> isn't accepted as a user-settable item.
This patch (for 8.4, but applies fuzzily to 9.0) implements this idea.
Note that there's no explicit check that every heap option has a
corresponding toast option; that's left to the developer's judgement to
add. I added the new member to relopt_gen struct so that existing
entries did not require changes in initializers.
(I'll leave the error as ERRCODE_CANT_CHANGE_RUNTIME_PARAM unless
someone thinks ERRCODE_INVALID_PARAMETER_VALUE is better)
I checked and this is the only heap setting that did not have a toast
setting.
I'll leave this open to comments for a bit more time than usual, to give
room for pgcon beers and such ...
--