sql >> Base de Datos >  >> RDS >> PostgreSQL

¿Cómo formularía una consulta de inserción en otra base de datos usando postgres_fdw?

No puede acceder a tablas en una base de datos diferente directamente como puede hacerlo en MySQL (una base de datos de MySQL corresponde a un esquema de PostgreSQL ).

Entonces, tal vez pueda lograr lo que desea utilizando diferentes esquemas en una sola base de datos.

Si realmente necesita actualizar una tabla en una base de datos diferente, tendrá que usar el envoltorio de datos externos postgres_fdw para acceder a la tabla externa.

Tendrá que definir una tabla foránea, llamémosla foreign_employee – en la base de datos db1 que apunta a una tabla en db2 .

Entonces podrías hacerlo así:

INSERT INTO foreign_employee
SELECT e.*
FROM employee e
     JOIN archived a USING id
LIMIT 2;

Tenga en cuenta que el LIMIT es un poco extraño aquí, ya que no hay un orden implícito en el resultado de una consulta a menos que fuerce uno con ORDER BY .