Dia desses tava fazendo uns testes e criei esse exemplo ... espero que
ajude..

Em 24/10/07, Paulinha <[EMAIL PROTECTED] > escreveu:
>
> William, muito obrigada mesmo!
> Vou ver se tem instalado o pacote contrib primeiro.
> Agora, queria um exemplo de uma consulta simples usando dblink, seria
> pedir muito? não sei como fazer isso...
> Obrigadão!
> :)
>
> *William Leite Araújo < [EMAIL PROTECTED]>* escreveu:
>
> http://www.vivaolinux.com.br/dicas/verDica.php?codigo=1646
>
>      DBLINK
>
>
> Abra sua conta no Yahoo! 
> Mail<http://br.rd.yahoo.com/mail/taglines/mail/*http://br.mail.yahoo.com/>,
> o único sem limite de espaço para armazenamento!
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>
[EMAIL PROTECTED]:~$ psql

postgres=# CREATE USER sa_usuario1 password 'celepar';

postgres=# CREATE USER sa_usuario2 password 'celepar';

postgres=# CREATE DATABASE base1 OWNER sa_suario1;

postgres=# CREATE DATABASE base2 OWNER sa_usuario2;

postgres=# \c base1 sa_usuario1;

base1=> CREATE TABLE tabela1 (id serial, nome varchar(50));

base1=> INSERT INTO tabela1(nome) values ('Luciano1');
base1=> INSERT INTO tabela1(nome) values ('Luciano2');
base1=> INSERT INTO tabela1(nome) values ('Luciano3');
base1=> INSERT INTO tabela1(nome) values ('Luciano4');
base1=> INSERT INTO tabela1(nome) values ('Luciano5');


base1=> \c base2 sa_usuario2;

base2=> CREATE TABLE tabela2 (id serial, nome varchar(50));

base2=> INSERT INTO tabela1(nome) values ('Mittmann1');
base2=> INSERT INTO tabela1(nome) values ('Mittmann2');
base2=> INSERT INTO tabela1(nome) values ('Mittmann3');
base2=> INSERT INTO tabela1(nome) values ('Mittmann4');
base2=> INSERT INTO tabela1(nome) values ('Mittmann5');


base2=#\c base2 postgres

base2=#\i /usr/share/postgresql/8.2/contrib/dblink.sql 

base2=#\c base2 sa_usuario2

base2=> SELECT * FROM dblink('hostaddr=127.0.0.1 dbname=base1 user=sa_usuario1 
password=celepar', 'select nome from tabela1')AS tabela1(nome varchar(50));
   nome   
----------
 Luciano1
 Luciano2
 Luciano3
 Luciano4
 Luciano5
(5 registros)


base2=> SELECT a.nome, b.nome from tabela2 a join (select *  FROM 
dblink('hostaddr=127.0.0.1 dbname=base1 user=sa_usuario1 password=celepar', 
'select id,nome from tabela1')AS tabela1(id integer,nome varchar)) b on 
(a.id=b.id);

   nome    |   nome   
-----------+----------
 mittmann1 | Luciano1
 mittmann2 | Luciano2
 mittmann3 | Luciano3
 mittmann4 | Luciano4
 mittmann5 | Luciano5
(5 registros)




_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a