Eu gostaria de fazer algo assim:
SELECT *
FROM information_schema.tables
WHERE table_schema IN (search_path)
Não encontrei nada nos documentos. É possível? Como?
Eu gostaria de fazer algo assim:
SELECT *
FROM information_schema.tables
WHERE table_schema IN (search_path)
Não encontrei nada nos documentos. É possível? Como?
pg_settings
é uma visão do sistema contendo todas as opções de configuração e seus valores disponíveis no contexto atual:Essa visualização você pode consultar como qualquer outra, então você pode obter o valor de
search_path
assim:O valor retornado é a
text
, com o delimitador sendo', '
. Alguns ajustes são necessários para que você possa comparartable_schema
com isso:Isso ainda é apenas meio perfeito, como
"$user"
pode ser nosearch_path
. Uma maneira de resolver isso é substituí-lo pelo usuário atual comoVeja tudo isso funcionando no DBFiddle .