使用postgres_fdw进行跨数据库查询

时间:2015-11-21 10:45:04

标签: database postgresql cross-database postgres-fdw

我有一个运行多个数据库的localhost Postgres 9.3服务器。其中之一是Travelingo_data。 它有扩展postgres_fdw和postgis安装。

我想要做的是从同一服务器上的另一个数据库运行一系列查询,并将它们与Travelingo_data中的插入相结合。

我认为postgres_fdw扩展名可以用于这个目标 因此,我从de Travelingo_data提示符

在PSQL控制台中执行了以下代码
CREATE SERVER app_db
FOREIGN DATA WRAPPER postgres_fdw 
OPTIONS (dbname 'top10nl', port '5432', host 'localhost');

top10nl数据库包含我要选择并在Travelingo_data中插入表格的数据

CREATE USER MAPPING for postgres
SERVER app_db
OPTIONS (user 'postgres', password 'postgres');

它是同一台服务器,并且始终是同一个用户

CREATE FOREIGN TABLE fg_punt
(
  ogc_fid serial NOT NULL,
  wkb_geometry geometry(Point,28992),
  gml_id character varying,
  fid integer,
  identificatie character varying,
  objectbegintijd character varying,
  versiebegintijd character varying,
  status character varying,
  naamnl character varying,
  naamfries character varying,
  typefunctioneelgebied character varying,
  brontype character varying,
  bronbeschrijving character varying,
  bronactualiteit character varying,
  bronnauwkeurigheid double precision,
  dimensie character varying,
  visualisatiecode integer,
  tdncode integer

)
 SERVER app_db OPTIONS (schema_name 'ttnl',      table_name 'functioneelgebied_punt')

外表中定义的列与数据库top10nl

中的原始现有表完全相同

首先,任何人都可以发现任何错误的参数吗?  其次:我在外部表或服务器的PGAdmin中看不到任何引用。我应该在哪里看到列出的外国表?我希望在Travelingo_data的表列表中看到一个名为fg_punt的外表(我可以选择数据),但是没有?

0 个答案:

没有答案