Make it possibly to specify GUC params per user and per database.

Alvaro Herrera <alvherre@alvh.no-ip.org>

Commit: 2eda8dfb52ed9962920282d8384da8bb4c22514d
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
Date: 2009-10-07T22:14:26Z
Releases: 9.0.0
Make it possibly to specify GUC params per user and per database.

Create a new catalog pg_db_role_setting where they are now stored, and better
encapsulate the code that deals with settings into its realm.  The old
datconfig and rolconfig columns are removed.

psql has gained a \drds command to display the settings.

Backwards compatibility warning: while the backwards-compatible system views
still have the config columns, they no longer completely represent the
configuration for a user or database.

Catalog version bumped.

Files

PathChange+/−
doc/src/sgml/catalogs.sgml modified +65 −15
doc/src/sgml/ref/alter_role.sgml modified +32 −10
src/backend/catalog/catalog.c modified +9 −4
src/backend/catalog/Makefile modified +3 −3
src/backend/catalog/pg_db_role_setting.c added +231 −0
src/backend/catalog/pg_shdepend.c modified +18 −3
src/backend/catalog/system_views.sql modified +9 −7
src/backend/commands/dbcommands.c modified +25 −81
src/backend/commands/user.c modified +33 −58
src/backend/nodes/copyfuncs.c modified +2 −1
src/backend/nodes/equalfuncs.c modified +2 −1
src/backend/parser/gram.y modified +27 −10
src/backend/utils/init/miscinit.c modified +1 −21
src/backend/utils/init/postinit.c modified +28 −24
src/bin/pg_dump/dumputils.c modified +9 −5
src/bin/pg_dump/dumputils.h modified +2 −2
src/bin/pg_dump/pg_dumpall.c modified +68 −8
src/bin/psql/command.c modified +14 −1
src/bin/psql/describe.c modified +60 −1
src/bin/psql/describe.h modified +4 −1
src/include/catalog/catversion.h modified +2 −2
src/include/catalog/dependency.h modified +3 −1
src/include/catalog/indexing.h modified +4 −1
src/include/catalog/pg_attribute.h modified +2 −3
src/include/catalog/pg_authid.h modified +2 −4
src/include/catalog/pg_database.h modified +4 −6
src/include/catalog/pg_db_role_setting.h added +67 −0
src/include/catalog/toasting.h modified +4 −1
src/include/nodes/parsenodes.h modified +2 −1
src/include/utils/guc.h modified +2 −1
src/test/regress/expected/rules.out modified +2 −2
src/test/regress/expected/sanity_check.out modified +2 −1