建议在sql shell命令窗口操作,因为这样可以知道语句执行报错情况
在这篇详解PostgreSQL成功安装oracle_fdw安装好oracle_fdw后
我们开始学习oracle_fdw的使用,以实现oracle的数据同步到postgresql。
假设我们把oracle的dept表同步到PostgreSQL中,表数据及表结构如下两图
过程分为5步,代码如下:
①
/*oradb为外部服务器名(可自定义名称);
oradatabase为需要访问的oracle数据库名,或为在tnsnames.org配置的数据库实例名 */
create server oradb foreign data wrapper oracle_fdw
options(dbserver 'oradatabase');
②
/*postgres为Postgre数据库用户*/
grant usage on foreign server oradb to postgres;
③
/*postgres为Postgre数据库用户orauser为被访问的oracle数据库用户名,orapwd为密码*/
create user mapping for postgres server oradb
options(user orauser', password 'orapwd');
④
/*oratab为在Postgres数据库显示的外部表名(可自定义)
ORAUSER为oracle数据库用户名,DEPT为需要访问的Oracle数据库的表,两者均要大写*/
create foreign table oratab ( deptno integer,
dname character varying(20),
loc character varying(20)) server oradb options(schema 'ORAUSER', table 'DEPT');
⑤ select * from oratab;
经过③后,就可在pgadmin左侧的Foreign Data Wrappers结点看到创建的用户映射
最后,在SQL Shell(psql)就能查到
有任何问题欢迎讨论交流~