postgresql/src/backend/commands
Tom Lane a0ffa885e4 Allow granting SET and ALTER SYSTEM privileges on GUC parameters.
This patch allows "PGC_SUSET" parameters to be set by non-superusers
if they have been explicitly granted the privilege to do so.
The privilege to perform ALTER SYSTEM SET/RESET on a specific parameter
can also be granted.
Such privileges are cluster-wide, not per database.  They are tracked
in a new shared catalog, pg_parameter_acl.

Granting and revoking these new privileges works as one would expect.
One caveat is that PGC_USERSET GUCs are unaffected by the SET privilege
--- one could wish that those were handled by a revocable grant to
PUBLIC, but they are not, because we couldn't make it robust enough
for GUCs defined by extensions.

Mark Dilger, reviewed at various times by Andrew Dunstan, Robert Haas,
Joshua Brindle, and myself

Discussion: https://postgr.es/m/3D691E20-C1D5-4B80-8BA5-6BEB63AF3029@enterprisedb.com
2022-04-06 13:24:33 -04:00
..
Makefile Move parallel vacuum code to vacuumparallel.c. 2021-12-23 11:42:52 +05:30
aggregatecmds.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
alter.c Allow granting SET and ALTER SYSTEM privileges on GUC parameters. 2022-04-06 13:24:33 -04:00
amcmds.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
analyze.c Add VACUUM instrumentation for scanned pages, relfrozenxid. 2022-02-11 16:48:40 -08:00
async.c Reduce more the number of calls to GetMaxBackends() 2022-02-10 10:27:29 +09:00
cluster.c Set relfrozenxid to oldest extant XID seen by VACUUM. 2022-04-03 09:57:21 -07:00
collationcmds.c Add option to use ICU as global locale provider 2022-03-17 11:13:16 +01:00
comment.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
constraint.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
conversioncmds.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
copy.c Add header matching mode to COPY FROM 2022-03-30 09:02:31 +02:00
copyfrom.c Fix typo in comment. 2022-03-30 19:00:00 +09:00
copyfromparse.c Add header matching mode to COPY FROM 2022-03-30 09:02:31 +02:00
copyto.c Parse/analyze function renaming 2022-03-04 14:50:22 +01:00
createas.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
dbcommands.c Add new block-by-block strategy for CREATE DATABASE. 2022-03-29 11:48:36 -04:00
define.c Add Boolean node 2022-01-17 10:38:23 +01:00
discard.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
dropcmds.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
event_trigger.c Allow granting SET and ALTER SYSTEM privileges on GUC parameters. 2022-04-06 13:24:33 -04:00
explain.c JSON_TABLE 2022-04-04 16:03:47 -04:00
extension.c Create routine able to set single-call SRFs for Materialize mode 2022-03-07 10:26:29 +09:00
foreigncmds.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
functioncmds.c Add Boolean node 2022-01-17 10:38:23 +01:00
indexcmds.c Fix comment in CheckIndexCompatible(). 2022-02-18 12:19:10 +09:00
lockcmds.c Add support for security invoker views. 2022-03-22 10:28:10 +00:00
matview.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
opclasscmds.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
operatorcmds.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
policy.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
portalcmds.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
prepare.c Add pg_analyze_and_rewrite_varparams() 2022-03-07 08:13:30 +01:00
proclang.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
publicationcmds.c Allow specifying column lists for logical replication 2022-03-26 01:01:27 +01:00
schemacmds.c Parse/analyze function renaming 2022-03-04 14:50:22 +01:00
seclabel.c Allow granting SET and ALTER SYSTEM privileges on GUC parameters. 2022-04-06 13:24:33 -04:00
sequence.c Add decoding of sequences to built-in replication 2022-03-24 18:49:27 +01:00
statscmds.c Check syscache result in AlterStatistics 2022-01-23 03:16:31 +01:00
subscriptioncmds.c Raise a WARNING for missing publications. 2022-03-31 08:25:50 +05:30
tablecmds.c Allow granting SET and ALTER SYSTEM privileges on GUC parameters. 2022-04-06 13:24:33 -04:00
tablespace.c Revert "Fix replay of create database records on standby" 2022-03-29 15:36:21 +02:00
trigger.c Add support for MERGE SQL command 2022-03-28 16:47:48 +02:00
tsearchcmds.c Add Boolean node 2022-01-17 10:38:23 +01:00
typecmds.c Add missing TYPEALIGN macros 2022-02-16 19:33:28 +07:00
user.c Remove the ability of a role to administer itself. 2022-03-28 13:38:13 -04:00
vacuum.c Have VACUUM warn on relfrozenxid "in the future". 2022-04-05 09:44:52 -07:00
vacuumparallel.c Unify VACUUM VERBOSE and autovacuum logging. 2022-01-14 16:50:34 -08:00
variable.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
view.c Parse/analyze function renaming 2022-03-04 14:50:22 +01:00