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. >