On Thu, Mar 06, 2025 at 04:37:56AM -0500, Ron Johnson wrote:
> This statement runs great from the psql prompt. Does exactly what I want.
> select datname from pg_database WHERE datname !~ 'template|postgres' ORDER
> BY datname;
> But it doesn't work so well from the bash prompt. Not escaping the "!"
> generates a bunch of garbage, while escaping throws an sql syntax error.
The problem is that ! is magical in bash.
The solution is to not use it. Instead you can easily do:
psql -Xc "select datname from pg_database WHERE not datname ~ 'template|postgres' ORDER BY datname;"
Best regards,
depesz