Existe uma maneira "elegante interna" que não diferencia maiúsculas de minúsculas para verificar se o db existe?
Encontrei apenas SELECT datname FROM pg_catalog.pg_database WHERE datname='dbname'
, mas esta é uma verificação de CS. A primeira coisa que vem à mente para recuperar todos os nomes de banco de dados e filtrá-los manualmente, mas acho que há uma maneira mais elegante de fazer isso.
postgresql
catalogs
Andrei Orlov
fonte
fonte
Respostas:
Você pode usar:
... no entanto, nomes de bancos de dados são caso sensível, assim tentando se conectar ao nome do banco de dados não irá realmente funcionar a menos que você coincidir com o caso corretamente. Isso não usará nenhum índice
dbname
, mas é pouco provável que você tenha bancos de dados suficientes para isso importar.As pessoas não percebem isso porque o PostgreSQL dobra os identificadores não citados para minúsculas, portanto, na maioria das vezes, isso não faz distinção entre maiúsculas e minúsculas para os clientes. De fato,
"DatabaseName"
e"databasename"
são coisas diferentes.fonte
Se você deseja uma resposta verdadeira / falsa, pode usar
fonte