>my previous answer did not make sense as postgresql.conf is set up by initdb Yeah, that kind of puzzles me too.
>-O allow_system_table_mods = on Thanks, I'll give that a try and create a new cluster, then get back to you afterwards. On Mon, Apr 25, 2016 at 4:05 PM, Adrian Klaver <adrian.kla...@aklaver.com> wrote: > 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.kla...@aklaver.com > >my previous answer did not make sense as postgresql.conf is set up by initdb Yeah, that kind of puzzles me too. >-O allow_system_table_mods = on Thanks, I'll give that a try and create a new cluster, then get back to you afterwards. *Melvin Davidson* I reserve the right to fantasize. Whether or not you wish to share my fantasy is entirely up to you.