On Mon, Feb 22, 2021 at 9:00 AM Ron <ronljohnsonjr@xxxxxxxxx> wrote: > > On 2/21/21 5:26 PM, Julien Rouhaud wrote: > > On Mon, Feb 22, 2021 at 7:19 AM Ron <ronljohnsonjr@xxxxxxxxx> wrote: > > Thus, I want to add a bit to the top of the script, something like this: > > \if :DBNAME = postgres > echo "must not run in postgres" > exit > \endif > > However, I can't seem to find the magic sauce. > > You have to use a dedicated variable. Something like > > SELECT :'DBNAME' = 'postgres' AS is_postgres \gset > > > That works... > > \if :is_postgres > [...] > > > That almost works, > > My script: > $ cat test_pg.sql > SELECT :'DBNAME' = 'postgres' AS is_postgres \gset > \echo :is_postgres > \if :is_postgres > \echo 'connected to postgres' > exit > \else > \echo 'not connected to postgres' > \endif > > The output: > $ psql12 -f test_pg.sql > t > connected to postgres > got here > psql:test_pg.sql:15: ERROR: syntax error at or near "exit" > LINE 1: exit Well, the supported commands did work. You should probably look at https://www.postgresql.org/docs/current/app-psql.html, you'd see that "exit" is not a supported command and you should instead use \q[uit]. I recommend looking at the semantics of \quit though, given your next message mentioning \include.