Quero obter uma lista de bancos de dados PostgreSQL. O PostgreSQL funciona por postgres
usuário, então preciso usar o runuser
.
Enquanto eu executo
runuser -l postgres -c 'psql -tc "SELECT datname FROM pg_database WHERE datname <> ALL ('{template0,template1,postgres}');"'
eu recebo
ERROR: column "template0" does not exist
LINE 1: ...CT datname FROM pg_database WHERE datname <> ALL (template0)...
Então, se eu executar o comando runuser ao fazer login, postgres
ele su
funcionará.
Se você puder ficar sem essa
-l
opção, a solução mais fácil é aproveitar as vantagens da sintaxe alternativa disponível com orunuser
comando:Et voila, eliminamos um nível de cotação.