Vários databases na mesma query
Se você precisa acessar duas ou mais bases de dados PostgreSQL numa mesma query você pode utilizar o contrib dblink[1].
Para quem utiliza Ubuntu, basta executar:
Pronto! Você agora já pode executar comandos do tipo:
Para quem utiliza Ubuntu, basta executar:
$ sudo apt-get install postgresql-contribEm seguida, instalá-lo no database que necessitará acessar dados de outras bases de dados.
$ psql -d nome_database -U nome_usuario -f /usr/share/postgresql/8.2/contrib/dblink.sqlOnde nome_database e nome_usuario são o nome da base de dados e o nome do usuário com privilégios sobre esta base de dados, respectivamente.
Pronto! Você agora já pode executar comandos do tipo:
SELECT *Requisitos
FROM dblink('dbname=mydb', 'select proname, prosrc from pg_proc')
AS t1(proname name, prosrc text)
WHERE proname LIKE 'bytea%';
- Ubuntu 8.04
- PostgreSQL 8.2
- [1] http://www.postgresql.org/docs/current/static/contrib-dblink.html
- [2] http://www.vivaolinux.com.br/dica/Acessando-dois-databases-no-mesmo-SELECT-(PostgreSQL)/
- [3] http://www.vivaolinux.com.br/dica/Funcao-dblink()/
Certa vez, precisei de integração em nível de BD entre o PostgreSQL e outros SGDBs. Como estava em ambiente Windows Server, criei uma variante do dblink usando drivers ODBC. O resultado foi o DBLink-ODBC: http://sourceforge.net/projects/dblink-odbc/
ResponderExcluirNão estou mais mantendo ativamente o projeto, mas, quem sabe, serve para alguém...