Re: Testing truthiness of GUC variables? - Mailing list pgsql-general

From Abelard Hoffman
Subject Re: Testing truthiness of GUC variables?
Date
Msg-id CACEJHMja9rnvXbisV-3aL4gtH+rHe8TqcdTQOESqdQSkNGR+sA@mail.gmail.com
Whole thread Raw
In response to Re: Testing truthiness of GUC variables?  (Kevin Grittner <kgrittn@ymail.com>)
List pgsql-general


On Mon, Sep 15, 2014 at 5:39 AM, Kevin Grittner <kgrittn@ymail.com> wrote:
Abelard Hoffman <abelardhoffman@gmail.com> wrote:

>> Boolean values can be written as on, off, true, false, yes, no,
>> 1, 0 (all case-insensitive) or any unambiguous prefix of these.
>
> is there a built-in function I can call, given the value from
> current_setting('myapp.audit'), that will test it using the same
> logic?

You can *set* a boolean setting with any of those, but that doesn't
mean it will be stored as the string you used:

Thanks, but I meant for user defined variables:

test=# set myapp.foo = true;
SET
test=# show myapp.foo;
 myapp.foo 
-----------
 true
(1 row)

test=# set myapp.foo = on;
SET
test=# show myapp.foo;
 myapp.foo 
-----------
 on
(1 row)


I realize now though that all I need to do is cast it to bool:

test=# set myapp.foo = FA;
SET
test=# select current_setting('myapp.foo')::bool;
 current_setting 
-----------------
 f
(1 row)

pgsql-general by date:

Previous
From: David G Johnston
Date:
Subject: Re: pgcluu error
Next
From: Szymon Guz
Date:
Subject: Re: Why isn't Java support part of Postgresql core?