您的位置:首页 > 数据库 > Oracle

oracle_fdw的使用:从PostgreSQL中访问Oracle数据库,实现数据库数据的同步

2017-09-08 16:31 826 查看
建议在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)就能查到








有任何问题欢迎讨论交流~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐