Script checking to see what database it's connected to

From: Ron <ronljohnsonjr(at)gmail(dot)com>
To: pgsql-general(at)lists(dot)postgresql(dot)org
Subject: Script checking to see what database it's connected to
Date: 2021-02-21 23:18:54
Message-ID: 0437e8e0-5686-9a10-b204-0b9df86e27ef@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general


Postgresql 12.5

I've got scripts which can run on multiple database (dev, test, QA,
Integration, Training, etc, etc), so of course I've got to run them like
"psql my_db_name -f script.sql".

Of course, I sometimes forget to specify the database name, and so it fails.

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.

This is what I've tried so far:

postgres=# \if :DBNAME == postgres
unrecognized value "postgres == postgres" for "\if expression": Boolean expected
postgres(at)#

postgres=# \if ':DBNAME' == postgres
unrecognized value ":DBNAME == postgres" for "\if expression": Boolean expected
postgres(at)#

postgres=# \if :DBNAME == 'postgres'
unrecognized value "postgres == postgres" for "\if expression": Boolean expected
postgres(at)#

postgres=# \if ':DBNAME' == 'postgres'
unrecognized value ":DBNAME == postgres" for "\if expression": Boolean expected
postgres(at)#

--
Angular momentum makes the world go 'round.

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Julien Rouhaud 2021-02-21 23:26:13 Re: Script checking to see what database it's connected to
Previous Message Peter J. Holzer 2021-02-21 21:31:18 Re: Please help to improve SELECT JOIN performance, EXPLAIN ANALYZE attached