Greenplum 4.2.1.0 super user permission issue

Post date: Oct 04, 2012 5:8:41 PM

I tried the Greenplum 4.2.1.0 build 3 on my Mac and Linux.  I found that the super user can't modify system catalog anymore.

For example, delete from pg_proc where proname='concat'

gives back

PGError: ERROR: permission denied: "pg_proc" is a system catalog

However, it works fine in Greenplum 4.1.1.1. Is this a feature introduced in 4.2.1.0? Anyone see the same issue?

What should I do to make the super user in GP 4.2 to have the permission on system catalog?

Thanks!

Firstly EMC strongly suggest customer not update catalog table by themselves. If you meet any critical issues, please engage EMC Greenplum Technical support.

To answer your question:

Yes, GP 4.2 has some behavior change on the control of catalog modification.

Please refer to GP4.2 Admin guide:

Starting the Master in Maintenance Mode

There may be cases where you want to start only the master. This is called maintenance mode. In this mode, you can do things such as connect to a database on the master instance only in utility mode and edit settings in the system catalog, without affecting user data on the segment instances. See “System Catalog Reference” on page 896 for more information about the system catalog tables.

To start the master in utility mode

1.Run gpstart using the -m option:

$ gpstart -m

2.Connect to the master in utility mode to do catalog maintenance. For example:

$ PGOPTIONS='-c gp_session_role=utility' psql template1

3.After completing your administrative tasks, you must stop the master in utility mode before you can restart it again in production mode.

$ gpstop -m

Warning: Incorrect use of maintenance mode connections can put the system into an inconsistent state. This operation should only be performed by Technical Support.