@ -8228,10 +8228,10 @@ GetConfigOption(const char *name, bool missing_ok, bool restrict_privileged)
return NULL ;
return NULL ;
if ( restrict_privileged & &
if ( restrict_privileged & &
( record - > flags & GUC_SUPERUSER_ONLY ) & &
( record - > flags & GUC_SUPERUSER_ONLY ) & &
! is_member _of_role( GetUserId ( ) , ROLE_PG_READ_ALL_SETTINGS ) )
! has_privs _of_role( GetUserId ( ) , ROLE_PG_READ_ALL_SETTINGS ) )
ereport ( ERROR ,
ereport ( ERROR ,
( errcode ( ERRCODE_INSUFFICIENT_PRIVILEGE ) ,
( errcode ( ERRCODE_INSUFFICIENT_PRIVILEGE ) ,
errmsg ( " must be superuser or a member of pg_read_all_settings to examine \" %s \" " ,
errmsg ( " must be superuser or have privileges of pg_read_all_settings to examine \" %s \" " ,
name ) ) ) ;
name ) ) ) ;
switch ( record - > vartype )
switch ( record - > vartype )
@ -8275,10 +8275,10 @@ GetConfigOptionResetString(const char *name)
record = find_option ( name , false , false , ERROR ) ;
record = find_option ( name , false , false , ERROR ) ;
Assert ( record ! = NULL ) ;
Assert ( record ! = NULL ) ;
if ( ( record - > flags & GUC_SUPERUSER_ONLY ) & &
if ( ( record - > flags & GUC_SUPERUSER_ONLY ) & &
! is_member _of_role( GetUserId ( ) , ROLE_PG_READ_ALL_SETTINGS ) )
! has_privs _of_role( GetUserId ( ) , ROLE_PG_READ_ALL_SETTINGS ) )
ereport ( ERROR ,
ereport ( ERROR ,
( errcode ( ERRCODE_INSUFFICIENT_PRIVILEGE ) ,
( errcode ( ERRCODE_INSUFFICIENT_PRIVILEGE ) ,
errmsg ( " must be superuser or a member of pg_read_all_settings to examine \" %s \" " ,
errmsg ( " must be superuser or have privileges of pg_read_all_settings to examine \" %s \" " ,
name ) ) ) ;
name ) ) ) ;
switch ( record - > vartype )
switch ( record - > vartype )
@ -9566,7 +9566,7 @@ ShowAllGUCConfig(DestReceiver *dest)
if ( ( conf - > flags & GUC_NO_SHOW_ALL ) | |
if ( ( conf - > flags & GUC_NO_SHOW_ALL ) | |
( ( conf - > flags & GUC_SUPERUSER_ONLY ) & &
( ( conf - > flags & GUC_SUPERUSER_ONLY ) & &
! is_member _of_role( GetUserId ( ) , ROLE_PG_READ_ALL_SETTINGS ) ) )
! has_privs _of_role( GetUserId ( ) , ROLE_PG_READ_ALL_SETTINGS ) ) )
continue ;
continue ;
/* assign to the values array */
/* assign to the values array */
@ -9633,7 +9633,7 @@ get_explain_guc_options(int *num)
/* return only options visible to the current user */
/* return only options visible to the current user */
if ( ( conf - > flags & GUC_NO_SHOW_ALL ) | |
if ( ( conf - > flags & GUC_NO_SHOW_ALL ) | |
( ( conf - > flags & GUC_SUPERUSER_ONLY ) & &
( ( conf - > flags & GUC_SUPERUSER_ONLY ) & &
! is_member _of_role( GetUserId ( ) , ROLE_PG_READ_ALL_SETTINGS ) ) )
! has_privs _of_role( GetUserId ( ) , ROLE_PG_READ_ALL_SETTINGS ) ) )
continue ;
continue ;
/* return only options that are different from their boot values */
/* return only options that are different from their boot values */
@ -9715,10 +9715,10 @@ GetConfigOptionByName(const char *name, const char **varname, bool missing_ok)
}
}
if ( ( record - > flags & GUC_SUPERUSER_ONLY ) & &
if ( ( record - > flags & GUC_SUPERUSER_ONLY ) & &
! is_member _of_role( GetUserId ( ) , ROLE_PG_READ_ALL_SETTINGS ) )
! has_privs _of_role( GetUserId ( ) , ROLE_PG_READ_ALL_SETTINGS ) )
ereport ( ERROR ,
ereport ( ERROR ,
( errcode ( ERRCODE_INSUFFICIENT_PRIVILEGE ) ,
( errcode ( ERRCODE_INSUFFICIENT_PRIVILEGE ) ,
errmsg ( " must be superuser or a member of pg_read_all_settings to examine \" %s \" " ,
errmsg ( " must be superuser or have privileges of pg_read_all_settings to examine \" %s \" " ,
name ) ) ) ;
name ) ) ) ;
if ( varname )
if ( varname )
@ -9785,7 +9785,7 @@ GetConfigOptionByNum(int varnum, const char **values, bool *noshow)
{
{
if ( ( conf - > flags & GUC_NO_SHOW_ALL ) | |
if ( ( conf - > flags & GUC_NO_SHOW_ALL ) | |
( ( conf - > flags & GUC_SUPERUSER_ONLY ) & &
( ( conf - > flags & GUC_SUPERUSER_ONLY ) & &
! is_member _of_role( GetUserId ( ) , ROLE_PG_READ_ALL_SETTINGS ) ) )
! has_privs _of_role( GetUserId ( ) , ROLE_PG_READ_ALL_SETTINGS ) ) )
* noshow = true ;
* noshow = true ;
else
else
* noshow = false ;
* noshow = false ;
@ -9980,7 +9980,7 @@ GetConfigOptionByNum(int varnum, const char **values, bool *noshow)
* insufficiently - privileged users .
* insufficiently - privileged users .
*/
*/
if ( conf - > source = = PGC_S_FILE & &
if ( conf - > source = = PGC_S_FILE & &
is_member _of_role( GetUserId ( ) , ROLE_PG_READ_ALL_SETTINGS ) )
has_privs _of_role( GetUserId ( ) , ROLE_PG_READ_ALL_SETTINGS ) )
{
{
values [ 14 ] = conf - > sourcefile ;
values [ 14 ] = conf - > sourcefile ;
snprintf ( buffer , sizeof ( buffer ) , " %d " , conf - > sourceline ) ;
snprintf ( buffer , sizeof ( buffer ) , " %d " , conf - > sourceline ) ;