Re: Clarify "allow_system_table_mods" - Mailing list pgsql-general

From Adrian Klaver
Subject Re: Clarify "allow_system_table_mods"
Date
Msg-id 571E7880.6020205@aklaver.com
Whole thread Raw
In response to Clarify "allow_system_table_mods"  (Melvin Davidson <melvin6925@gmail.com>)
Responses Re: Clarify "allow_system_table_mods"
List pgsql-general
On 04/25/2016 09:30 AM, Melvin Davidson wrote:
> I need clarification on allow_system_table_mods parameter
> Per the documentation:
> *Allows modification of the structure of system tables.* This is used by
> initdb. This parameter can only be set at server start.

A millisecond after hitting enter I realized my previous answer did not
make sense as postgresql.conf is set up by initdb. Then I found this:

http://www.postgresql.org/docs/9.2/static/runtime-config-short.html

-O     allow_system_table_mods = on

So use that option when doing initdb?

>
> However, attempting to modify pg_class to add another column fails with
> "STATUS_ACCESS_VIOLATION" as below.
> So either only certain system catalogs may be changed, or only certain
> types of structure changes are allowed.
> eg: add indexes, triggers
>
> Windows 10
> PostgreSQL 9.2.15, compiled by Visual C++ build 1600, 32-bit
>
> Current user is postgres
> allow_system_table_mods = on
>
> ALTER TABLE pg_catalog.pg_class ADD COLUMN relcreated timestamp DEFAULT
> current_timestamp;
>
> Fails with:
>
> 2016-04-25 12:08:00 EDT STATEMENT:  ALTER TABLE pg_catalog.pgclass ADD
> COLUMN relcreated timestamp DEFAULT current_timestamp;
> 2016-04-25 12:08:14 EDT LOG:  server process (PID 7760) was terminated
> by exception 0xC0000005
> 2016-04-25 12:08:14 EDT DETAIL:  Failed process was running: ALTER TABLE
> pg_catalog.pg_class ADD COLUMN relcreated timestamp DEFAULT
> current_timestamp;
> 2016-04-25 12:08:14 EDT HINT:  See C include file "ntstatus.h" for a
> description of the hexadecimal value.
> 2016-04-25 12:08:14 EDT LOG:  terminating any other active server processes
>
>  From ntstatus.h
> *#define STATUS_ACCESS_VIOLATION          ((NTSTATUS)0xC0000005L)    //
> winnt*
>
> --
> *Melvin Davidson*
> I reserve the right to fantasize.  Whether or not you
> wish to share my fantasy is entirely up to you.


--
Adrian Klaver
adrian.klaver@aklaver.com


pgsql-general by date:

Previous
From: Adrian Klaver
Date:
Subject: Re: Clarify "allow_system_table_mods"
Next
From: Melvin Davidson
Date:
Subject: Re: Clarify "allow_system_table_mods"