Thread: [GENERAL] How to assign default values to psql variables?

[GENERAL] How to assign default values to psql variables?

From
Torsten Förtsch
Date:
Hi,

I have a psql script relying on variables passed in on the command line with -v.

Is there any way to assign a default value in case the -v option is forgotten?

Here is an example with pgtap:

select diag('should be printed only in verbose mode') where :testverbose;

This can be called with -v testverbose=true or -v testverbose=false. However, if the assignment is forgotten, it breaks. I'd like to behave it as if testverbose=false was passed.

Thanks.

Re: [GENERAL] How to assign default values to psql variables?

From
Pavel Stehule
Date:
Hi

2017-02-22 6:00 GMT+01:00 Torsten Förtsch <tfoertsch123@gmail.com>:
Hi,

I have a psql script relying on variables passed in on the command line with -v.

Is there any way to assign a default value in case the -v option is forgotten?

Here is an example with pgtap:

select diag('should be printed only in verbose mode') where :testverbose;

This can be called with -v testverbose=true or -v testverbose=false. However, if the assignment is forgotten, it breaks. I'd like to behave it as if testverbose=false was passed.


Currently there is not any scripting functionality in psql. In patch pool is the basic scripting in psql support patch \if, \else \endif - and then you can do it. But not now.

Regards

Pavel

 
Thanks.