PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Atualização entre 2 bancos de dados usando dblink não está funcionando


Adicione aliases de tabela/coluna e (provavelmente) uma condição WHERE como esta:
UPDATE tb1 b
SET    name = a.pname   -- maybe you want to update *pname* instead?
FROM  (
   SELECT *
   FROM   dblink('port=5432 dbname=db1 user=postgres  password=12345'
               , 'SELECT pname FROM ta1 WHERE pid = 1')
          AS t(pname text)
   ) a
WHERE b.pid = 1;

Assumindo o tipo text . Adapte-se ao seu tipo real.
E sem vírgula na string de conexão .
Não estou vinculando a a b desde a retorna uma única linha aqui.