Dando um banco de dados um alias em postgres

6

Existe alguma maneira de dar um alias a um banco de dados postgres?

Essencialmente, eu preciso de um único banco de dados para operar com dois nomes, para que eu possa fazer consultas, digamos, DB_ALPHA e DB_ONE e eles terão exatamente o mesmo efeito. Eu consegui isso no MySQL, colocando um link simbólico para o banco de dados no mesmo diretório. Eu não consegui encontrar um equivalente dessa solução no postgres.

Eu agradeço a ajuda! Obrigado!

    
por bigmattyh 02.10.2010 / 01:33

4 respostas

3

Não é possível criar um alias para um esquema ou banco de dados, pois o Nome do esquema / DB é usado internamente como chave primária para as tabelas pg_namespace e pg_database .

    
por 05.11.2010 / 14:41
0

Não, você não pode. No PostgreSQL, você precisa se conectar a um único banco de dados antes de executar qualquer consulta. No MySQL você tem apenas um banco de dados e muitos esquemas (chamados de "bancos de dados" no mundo do MySQL), você sempre pode executar uma consulta em um "banco de dados" diferente.

Se você quiser a mesma configuração no PostgreSQL, basta criar esquemas diferentes em seu banco de dados.

CREATE SCHEMA foo;
CREATE SCHEMA bar;
    
por 05.11.2010 / 14:16
0

Você precisa escrever consultas e ler consultas? Eu ficaria tentado a tentar criar o segundo banco de dados e, em seguida, usar um link simbólico no nível do diretório de banco de dados para apontar para o primeiro diretório de bancos de dados. Isso pode ser ok, desde que você esteja apenas lendo as consultas no segundo sistema; otoh você pode obter todos os tipos de corrupção de problemas relacionados com a memória compartilhada estranhas, mas seria uma experiência interessante.

    
por 13.02.2011 / 17:32
0

A melhor solução parece ser PgBouncer . Ele permite que você agrupe e "redirecione" conexões de um banco de dados para outro (mesmo em um host diferente).

    
por 18.09.2018 / 12:48