我试图使用Forigen Data Wrapper从A表中获取数据到另一个数据库。
它在我的系统中运行良好。但是相同的命令会在远程服务器中抛出错误。
CREATE FOREIGN DATA WRAPPER fwd_test VALIDATOR postgresql_fdw_validator;
CREATE SERVER ser_test FOREIGN DATA WRAPPER fwd_test OPTIONS (hostaddr '127.0.0.1', dbname 'database_one', port '5433');
CREATE USER MAPPING FOR postgres SERVER ser_test OPTIONS (user 'postgres', password 'emr123');
SELECT dblink_connect('ser_test');
服务器返回以下错误
ERROR: could not establish connection SQL state: 08001 Detail: missing "=" after "ser_test" in connection info string
同一组行在本地实例中工作。
答案 0 :(得分:0)
答案 1 :(得分:0)
您无需创建自己的外部数据包装器;该扩展程序为您创建一个名为postgres_fdw
的链接。
您当然可以创建一个新的外部数据包装器对象,但正确的方法是这样的:
CREATE FOREIGN DATA WRAPPER fdw_test
HANDLER postgres_fdw_handler
VALIDATOR postgres_fdw_validator;
您忘记了处理程序,没有处理程序,外部数据包装器就不知道其代码在哪里。
你的PostgreSQL 9.1标签毫无意义,因为postgres_fdw是在9.3版本中添加的。