On Mon, Apr 25, 2016 at 8:05 PM, Stephen Frost <sfrost@snowman.net> wrote:
* Melvin Davidson (melvin6925@gmail.com) wrote: > Then could you please clarify exactly what structural mods are permitted by > *"* > *Allows modification of the structure of system tables" ?*
I would say, in short, those modifications which are implemented by PG developers who know what's safe to do with the catalog tables.
Beyond that, I'm afriad you'd need to read the source code. I don't know offhand the complete set of "what's safe to do", though it's probably a pretty short list and certainly doesn't include adding columns.
Ultimately, that switch isn't for end users to use to modify the catalogs. If you'd like to modify the structure of pg_class, you would start by looking at src/include/catalog/pg_class.h, though there's quite a few other bits that would need to change too.
Thanks! Stephen
>allow_system_table_mods only exists so that initdb can do some setup steps that would otherwise be inconvenient to manage.
So in essence "*Allows modification of the structure of system tables" does NOT allow _structural_ changes (probably only dml changes)
and the documentation should be changed to clarify.
--
Melvin Davidson I reserve the right to fantasize. Whether or not you wish to share my fantasy is entirely up to you.