PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

dblink n'existe pas même si l'extension existe déjà ?

Vérifiez dans quel schéma l'extension est installée. Dans mon cas, ce schéma est ext :

select nspname as schema
from pg_extension e
join pg_namespace n on n.oid = e.extnamespace
where extname = 'dblink'

 schema 
--------
 ext
(1 row) 

Ajoutez le nom du schéma au chemin de recherche, par exemple :

set search_path to public, ext;

ou utilisez le nom qualifié de la fonction dblink() , par exemple :

INSERT INTO tableA
 SELECT tbl.colA,tbl.colB,...
 FROM ext.dblink('dbname=anotherDB', 'SELECT colA,colB,...
                 FROM tableB')
as tbl(colA,colB,...)