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

转自:https://blog.csdn.net/ljinxin/article/details/77896295

建议在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)就能查到

猜你喜欢

转载自blog.csdn.net/housonglin1213/article/details/86508957