Eu preciso definir o caminho do esquema no Postgres para não especificar sempre a tabela de pontos do esquema, por exemplo schema2.table
. Defina o caminho do esquema:
SET SCHEMA PATH a,b,c
parece funcionar apenas para uma sessão de consulta no mac, depois de fechar a janela de consulta, a variável de caminho volta ao padrão.
Como posso torná-lo permanente?
sql
postgresql
Nakh
fonte
fonte
Respostas:
(E se você não tiver acesso de administrador ao servidor)
Duas coisas importantes a saber sobre:
a, b, c
importante, pois também é a ordem na qual os esquemas serão consultados para as tabelas. Portanto, se você tiver o mesmo nome de tabela em mais de um esquema entre os padrões, não haverá ambiguidade, o servidor sempre usará a tabela do primeiro esquema especificado para o seusearch_path
.fonte
Você pode definir o padrão
search_path
no nível do banco de dados:Ou no nível do usuário ou função:
Ou, se você tiver um esquema padrão comum em todos os seus bancos de dados, poderá definir o padrão de todo o sistema no arquivo de configuração com a opção search_path .
Quando um banco de dados é criado, ele é criado por padrão a partir de um banco de dados "modelo" oculto chamado modelo1 , você pode alterar esse banco de dados para especificar um novo caminho de pesquisa padrão para todos os bancos de dados criados no futuro. Você também pode criar outro banco de dados de modelos e usá-lo
CREATE DATABASE <database_name> TEMPLATE <template_name>
para criar seus bancos de dados.fonte
Josh está correto, mas deixou de fora uma variação:
Defina o caminho de pesquisa para o usuário, em um banco de dados específico.
fonte