\des Postgres oracle dblink 互联
使用Oracle_FDW实现Postgres连接OracleOracle_fdw的编译依赖系统中需要有pg_config和Oracle的环境,需要安装oracle客户端。1、安装客户端需要如下3个文件包unzip instantclient-basic-linux.x64-12.2.0.1.0.zipunzip instantclient-sdk-linux.x64-12.2.0.1.0.zipunzip instantclient-sqlplus-linux.x64-12.2.0.1.0.zip2、配置环境变量export ORACLE_HOME/opt/oracle/instantclientexport OCI_LIB_DIR$ORACLE_HOMEexport OCI_INC_DIR$ORACLE_HOME/sdk/includeexport LD_LIBRARY_PATH$ORACLE_HOME:$LD_LIBRARY_PATH3、下载oracle_fdw插件并安装unzip oracle_fdw-2.0.0.zipcd oracle_fdw-2.0.0MakeMake install--检查确认没有依赖未解决ldd oracle_fdw.so4、创建拓展postgres# create extension oracle_fdw ;postgres# \desList of foreign serversName | Owner | Foreign-data wrapper---------------------------------------oradb | postgres | oracle_fdw5、创建外部数据源服务postgres# CREATE SERVER oradb FOREIGN DATA WRAPPER oracle_fdw OPTIONS (dbserver // xx:xx1521/posdb);6、建用户映射postgres# CREATE USER MAPPING FOR postgres SERVER oradb OPTIONS (user , password );7、创建外部表postgres# CREATE FOREIGN TABLE xx (id int,uuid character(32),name character(32),Minfo text) SERVER oradb OPTIONS (table xx);8、测试访问速度测试结果1、使用postgres连接oracle查询2G的表4520万行数据全表扫描耗时9分钟23秒。select * from xx;Time: 563775.627 ms (09:23.776)2、建表时加入prefetch10240 参数后耗时5分22秒。select * from xx;Time: 322470.280 ms (05:22.470)[PostgreSQL连接PostgreSQL]使用Postgres_FDW实现Postgresql连接PostgresqlPostgres_FDW为postgresql自带拓展可以直接创建。支持远程select和DML和本地表操作一样。1、创建拓展postgres# create extension postgres_fdw;2、创建服务postgres# create server f_postgres foreign data wrapper postgres_fdw options (host xx,port xx,dbname xx);3、创建用户映射postgres# create user mapping if not exists for postgres server f_postgres options (user xx,password xx);4、创建外部表postgres# CREATE FOREIGN TABLE xx (id int,uuid character(32),name character(32),Minfo text) SERVER f_postgres OPTIONS (table_name xx);5、测试访问速度测试结果1、使用postgres连接postgres查询2G的表4520万行数据全表扫描耗时12分钟59秒。select * from vol_audit_nbr_sum_qs;Time: 779932.685 ms (12:59.933)2、建表时加入fetch_size10240 参数后耗时3分58秒。select * from xx;Time: 238503.016 ms (03:58.503)[Oracle连接PostgreSQL]1、安装postgresql的odbc驱动包--需要安装unixODBC 和 postgresql_odbcyum install -y unixODBC.x86_64yum install -y postgresql-odbc.x86_642、配置/etc/odbc.ini[postgresql]Description PostgresSQLODBCDriver PostgreSQLDatabase testdbServername xxUserName testPassword test123Port 5432ReadOnly 0ConnSettings set client_encoding to UTF8连接成功[rootlocaloracle ~]# isql postgresql---------------------------------------| Connected! || || sql-statement || help [tablename] || quit || |---------------------------------------3、创建.odbc.ini文件在/home/oracle下创建隐藏文件.odbc.ini[PG_LINK]Description PostgreSQL connection to SallyDBDriver usr/lib64/psqlodbc.soSetup usr/lib64/libodbcpsqlS.soDatabase testdbServername xxUserName testPassword test123Port 5432Protocol 12.2ReadOnly NoRowVersioning NoShowSystemTables NoConnSettings set client_encoding to UTF84、配置透明网关在$ORACLE_HOME/network/admin/下面创建initPG_LINK.ora文件这个文件名字中的PG_LINK是上面自定义的名字HS_FDS_CONNECT_INFO PG_LINKHS_FDS_TRACE_LEVEL 255HS_FDS_SHAREABLE_NAME/usr/lib64/psqlodbc.soHS_LANGUAGEAMERICAN_AMERICA.ZHS16GBKset ODBCINI/home/oracle/.odbc.ini5、配置tnsnames.ora文件PG_LINK (DESCRIPTION(ADDRESS(PROTOCOLtcp)(HOSTxx)(PORT1521))(CONNECT_DATA(SIDPG_LINK))(HSOK))6、配置监听文件SID_LIST_LISTENER(SID_LIST(SID_DESC(SID_NAMEPG_LINK)(ORACLE_HOME/u01/app/oracle/product/12.2/db_1) (ENVLD_LIBRARY_PATH/usr/lib64/:/u01/app/oracle/product/12.2/db_1/bin/) (PROGRAMdg4odbc)))7、创建DBLINKcreate database link to_pglink connect to test identified by test123 using PG_LINK;8、访问PG数据库访问postgre的数据库表是需要表名字小写并加上双引号select count(*) from xxto_pglink;9、测试访问速度测试结果使用oracle连接postgres查询2G的表4520万行数据全表扫描耗时10分钟37秒。SQL set timing onSQL set autot traceSQL select xx from xxto_pglink;45201535 rows selected.Elapsed: 00:10:37.14

相关新闻

Spring Security密码安全实战:从明文到PBKDF2的完整配置指南

Spring Security密码安全实战:从明文到PBKDF2的完整配置指南

1. 项目概述:为什么密码编码器是安全的第一道防线在任何一个需要用户登录的Web应用里,密码的处理方式直接决定了系统的安全基线。我见过太多项目,数据库里存的密码还是明文的“123456”或者简单的MD5哈希,这无异于在系统大门上挂了…

2026/7/24 10:51:27 阅读更多 →
RYU控制器实践:SDN网络中的L2Switch与Hub开发

RYU控制器实践:SDN网络中的L2Switch与Hub开发

1. 实验背景与目标解析在SDN(软件定义网络)架构中,控制器作为"大脑"扮演着核心角色。RYU作为一款轻量级开源SDN控制器,以其Python友好的开发特性和模块化设计,成为学术界和工业界的热门选择。本次实验的核心…

2026/7/22 4:13:24 阅读更多 →
手机权限管理:高危权限解析与安全防护指南

手机权限管理:高危权限解析与安全防护指南

1. 手机权限管理的安全意义现代智能手机已经成为我们生活中不可或缺的数字伴侣,但很少有人意识到,那些看似无害的权限开关背后可能隐藏着巨大的安全隐患。去年我处理过一个案例:一位用户因为开启了不必要的"无障碍服务"权限&#x…

2026/7/24 19:31:23 阅读更多 →

最新新闻

Wan2.2工作流实战:从环境搭建到AI视频生成全流程解析

Wan2.2工作流实战:从环境搭建到AI视频生成全流程解析

最近在AI视频生成领域,Wan2.2工作流因其出色的画面稳定性和生成质量备受关注。很多开发者尝试部署时却卡在环境配置、工作流加载和参数调优环节,特别是面对闪烁、画面撕裂等常见问题缺乏系统解决方案。本文将完整拆解Wan2.2工作流从环境搭建到高级应用的实战流程,包含文生视…

2026/7/25 1:57:18 阅读更多 →
终极指南:如何彻底解决MelonLoader模组加载器Cpp2IL下载失败问题

终极指南:如何彻底解决MelonLoader模组加载器Cpp2IL下载失败问题

终极指南:如何彻底解决MelonLoader模组加载器Cpp2IL下载失败问题 【免费下载链接】MelonLoader The Worlds First Universal Mod Loader for Unity Games compatible with both Il2Cpp and Mono 项目地址: https://gitcode.com/gh_mirrors/me/MelonLoader Me…

2026/7/25 1:57:18 阅读更多 →
基于Nacos构建AI Agent技能注册中心:统一管理与动态发现

基于Nacos构建AI Agent技能注册中心:统一管理与动态发现

在实际 AI 应用开发中,随着 Agent 数量和技能的增长,如何统一管理它们的元数据、版本和依赖关系成为一个关键挑战。直接硬编码在配置文件或数据库中,不仅难以维护,更无法应对多环境、灰度发布和动态更新的需求。Nacos 作为广泛使用…

2026/7/25 1:57:18 阅读更多 →
Codex AI编程助手:从零配置到实战开发的全流程指南

Codex AI编程助手:从零配置到实战开发的全流程指南

最近在技术社区看到不少关于 Codex 的讨论,很多开发者跃跃欲试,但上手后发现要么环境配置卡壳,要么对它的能力边界和使用场景一头雾水,最终只能停留在“Hello World”阶段。如果你也正面临类似困惑,感觉网上资料零散不成体系,那么这篇文章就是为你准备的。 本文将为你系…

2026/7/25 1:57:18 阅读更多 →
技术人转型创业:从专业执行到商业闭环的思维重塑与实践指南

技术人转型创业:从专业执行到商业闭环的思维重塑与实践指南

1. 先搞清楚“跨界创业修行”到底在解决什么问题 看到“从知识拓荒到悦己闪光”和“跨界创业修行”这个标题,很多人第一反应可能是“这又是一个讲个人成长的心灵鸡汤”。但如果你正在考虑从技术、产品、运营等专业岗位转向创业,或者已经在创业路上感到迷茫,这篇文章讨论的恰…

2026/7/25 1:57:18 阅读更多 →
张高兴的 Hailo-10 开发指南:(二)使用 LangChain 搭建本地大模型 RAG 问答应用

张高兴的 Hailo-10 开发指南:(二)使用 LangChain 搭建本地大模型 RAG 问答应用

张高兴的 Hailo-10 开发指南:(二)使用 LangChain 搭建本地大模型 RAG 问答应用 大家好,我是张高兴。上期我们成功在 Hailo-10 上部署了本地大模型,今天我们来玩点更酷的——用 LangChain 搭建一个 RAG(检索…

2026/7/25 1:56:18 阅读更多 →

日新闻

突破文档下载限制:kill-doc让你看到的都能保存

突破文档下载限制:kill-doc让你看到的都能保存

突破文档下载限制:kill-doc让你看到的都能保存 【免费下载链接】kill-doc 看到经常有小伙伴们需要下载一些免费文档,但是相关网站浏览体验不好各种广告,各种登录验证,需要很多步骤才能下载文档,该脚本就是为了解决您的…

2026/7/25 0:00:35 阅读更多 →
C++ string类模拟实现:从深拷贝到内存管理的完整指南

C++ string类模拟实现:从深拷贝到内存管理的完整指南

1. 项目概述:为什么我们要“手撕”string类?在C的学习道路上,尤其是从C语言过渡到C的“初阶”阶段,string类绝对是一个绕不开的核心。标准库里的std::string用起来太方便了,、find、substr,几个操作符和函数…

2026/7/25 0:00:35 阅读更多 →
三角洲寻宝鼠工具:高效文件搜索与资源管理实战指南

三角洲寻宝鼠工具:高效文件搜索与资源管理实战指南

1. 先搞清楚“三角洲寻宝鼠”到底是什么工具从名称来看,“三角洲寻宝鼠”更像是一个资源查找或文件检索类工具,而不是游戏或娱乐软件。这类工具的核心价值在于帮助用户快速定位特定资源,比如文档、图片、压缩包或特定格式的文件。如果你经常需…

2026/7/25 0:00:35 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/24 3:59:20 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/24 1:23:39 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/24 18:52:18 阅读更多 →

月新闻