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

Como eu formularia uma consulta de inserção em outro banco de dados usando postgres_fdw?


Você não pode acessar tabelas em um banco de dados diferente diretamente como você pode fazer no MySQL (um MySQL banco de dados corresponde a um esquema do PostgreSQL ).

Então, talvez você possa conseguir o que deseja usando esquemas diferentes em um único banco de dados.

Se você realmente precisar atualizar uma tabela em um banco de dados diferente, terá que usar o wrapper de dados externos postgres_fdw para acessar a tabela externa.

Você terá que definir uma tabela estrangeira - vamos chamá-la de foreign_employee – no banco de dados db1 que aponta para uma tabela em db2 .

Então você poderia fazer assim:
INSERT INTO foreign_employee
SELECT e.*
FROM employee e
     JOIN archived a USING id
LIMIT 2;

Observe que o LIMIT é um pouco estranho aqui, já que não há ordem implícita em um resultado de consulta, a menos que você force uma com ORDER BY .