How to I select value of GUC that has - in its name? - Mailing list pgsql-general

From hubert depesz lubaczewski
Subject How to I select value of GUC that has - in its name?
Date
Msg-id 20210209144059.GA21360@depesz.com
Whole thread Raw
Responses Re: How to I select value of GUC that has - in its name?  (Edward Macnaghten <eddy@edlsystems.com>)
Re: How to I select value of GUC that has - in its name?  (Adrian Klaver <adrian.klaver@aklaver.com>)
List pgsql-general
Hi,
question from IRC, but I couldn't find an answer.

I can set custom guc with - in name, but I can't figure out how to
select it.

Without minus, it works great:

=$ psql -X -c 'show custom.guc'
ERROR:  unrecognized configuration parameter "custom.guc"

=$ psql -X -c "alter user depesz set custom.guc = '123'"
ALTER ROLE

=$ psql -X -c 'show custom.guc'
 custom.guc 
------------
 123
(1 row)

If I'd try to set variable with - in name:

$ alter user depesz set custom.bad-guc = '1a';
ERROR:  syntax error at or near "-"
LINE 1: alter user depesz set custom.bad-guc = '1a';
                                        ^
$ alter user depesz set custom."bad-guc" = '1a';
ALTER ROLE

$ select * from pg_db_role_setting where setrole = 'depesz'::regrole;
 setdatabase │ setrole │                        setconfig                        
─────────────┼─────────┼─────────────────────────────────────────────────────────
           0 │   16384 │ {application_name=xxx,custom.guc=123,custom.bad-guc=1a}
(1 row)

OK. Looks like it's set. But I can't show it (this is after reconnect):

$ show custom."bad-guc";
ERROR:  unrecognized configuration parameter "custom.bad-guc"

$ show "custom"."bad-guc";
ERROR:  unrecognized configuration parameter "custom.bad-guc"

$ show "custom.bad-guc";
ERROR:  unrecognized configuration parameter "custom.bad-guc"

I know I can simply not use dashes in names, but if I can *set* it, how
can I get the value back?

depesz



pgsql-general by date:

Previous
From: Thomas Kellerer
Date:
Subject: Re: Postgres 9.4 Needed
Next
From: Edward Macnaghten
Date:
Subject: Re: How to I select value of GUC that has - in its name?