2016-12-04 20:55 GMT+01:00 Fabien COELHO <coe...@cri.ensmp.fr>:

>
> Yes, that is a possibility, but this can already be queried into a
>>> :-variable, so it is less indispensable.
>>>
>>
>> can you show some examples, please?
>>
>
>  SELECT COUNT(*) AS has_unit_extension
>    FROM pg_extension WHERE extname='unit' \gset
>  \echo :has_unit_extension
>  1
>
> So that
>
>  \if ! :hash_unit_extension
>  CREATE TABLE foo(id SERIAL, stuff UNIT);
>  \else
>  \echo "unit extension is not loaded"
>  \quit
>  \fi
>
> Ok, for this example one may try:
>
>  CREATE EXTENSION IF NOT EXISTS unit;
>
> Or use the "ON_ERROR_STOP" setting, but that is the idea, SQL can be used
> to test anything server-side.
>

understand

I am thinking so first step can be simply and much more friendly replaced
by specialized function:

\if has_extension(...)

the functions are supported by pgbench already, so we can take code from
there.

I don't think so psql script language should be too rich - it should be DSL
and often use cases should be supported with friendly syntax.

The set of functions can be small in first stage - we can support only one
function.

Regards

Pavel

>
> --
> Fabien.
>

Reply via email to