PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Come formulerei una query di inserimento in un altro database usando postgres_fdw?

Non puoi accedere direttamente alle tabelle in un database diverso come puoi fare in MySQL (un database MySQL corrisponde a uno schema di PostgreSQL ).

Quindi forse puoi ottenere ciò che desideri utilizzando schemi diversi in un unico database.

Se hai davvero bisogno di aggiornare una tabella in un database diverso, dovrai utilizzare il wrapper di dati esterni postgres_fdw per accedere alla tabella esterna.

Dovrai definire una tabella esterna:chiamiamola foreign_employee – nel database db1 che punta a una tabella in db2 .

Allora potresti farlo così:

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

Nota che il LIMIT è un po' strano qui, dal momento che non c'è un ordine implicito nel risultato di una query a meno che tu non ne forzi uno con ORDER BY .