PostgreSQL é un motor de base de datos que non permite a conexión de táboas que se ubiquen en bases de datos diferentes dun xeito «directo». Antes é necesario xerar unha conexión entre elas que permita este proceso. Dito proceso leva asociado un custo de perda de rendimento, resultando nunhas consultas máis lentas que no caso de só operar cunha soa base de datos. O proceso para activar a posibilidade de conexión de táboas entre bases de datos é a través da extensión «dblink». Para elo debemos:
Activar a extensión dblink dentro das bases de datos:
CREATE EXTENSION dblink;
Esta extensión debe ser visible para todos os roles que empreguen a base de datos para poder operar con ela.
Posteriormente podemos verificar que a extensión está correctamente instalada:
SELECT pg_namespace.nspname, pg_proc.proname
FROM pg_proc, pg_namespace
WHERE pg_proc.pronamespace=pg_namespace.oid
AND pg_proc.proname LIKE '%dblink%';
Unha vez finalizado debemos comprobar que a conexión funciona
SELECT dblink_connect('host=localhost user=postgres password=enjoy dbname=postgres');
Fontes:
https://www.postgresql.org/docs/current/contrib-dblink-function.html
https://stackoverflow.com/questions/3862648/how-to-use-install-dblink-in-postgresql
https://www.postgresql.org/message-id/BLU146-W2548E241C5F8D765EC6CEFC4020@phx.gbl