Quando precisamos no mesmo SELECT juntar informações que estão em vários bancos de dados diferentes, ou mesmo em servidores diferentes utilizamos o DBLINK. Nesse pequeno artigo vou demonstrar como habilitar esse módulo em seu banco de dados criado no PostgreSQL.
Ambiente utilizado:
Computador: Notebook Gateway
Sistema operacional: OpenSuse 11.2
Banco de dados: PostgreSQL 8.4
Nesse artigo eu suponho que o leitor já tenha o PostgreSQL instalado na máquina. Caso ainda não tenha efetuado esse passo, acesse o artigo: http://juliocesarmartini.com/blog/arquivos/bd-postgresql-no-opensuse-11-2/.
Vamos lá:
1. Baixar o pacote postgresql-contrib;
zypper in postgresql-contrib
2. Após efetuar a instalação do pacote, vá até o caminho:
/usr/share/postgresql/contrib
3. Dentro dessa pasta existe um arquivo denominado dblink.sql. Utilize o comando psql para incluir as funções de DBLINK no banco de dados desejado;
psql -U postgres -d nomedoBD -f dblink.sql
Sendo que:
-U postgres = usuário do banco de dados;
-d DB2 = banco de dados que receberá as funções de DBLINK;
-f dblink.sql = caminho do arquivo
Abaixo, um exemplo de como acessar outro banco de dados através do DBLINK:
SELECT * FROM dblink('hostaddr=127.0.0.1 dbname=nomedoBD user=usuario password=senha', 'select campo from nomedatabela') AS minha_tabela(campo varchar);
Feito isso. Seu banco está pronto para a utilização do DBLINK.