首页 > 解决方案 > 在不安装 oracle 的情况下安装 oracle_fdw - 可能吗?

问题描述

我想将数据从远程 oracle 数据库(版本 11.2)传输到 localhost postgres(版本 13)数据库(后来也传输到远程 Postgres db)。因此,我在自己的 Ubuntu 20.04.3 LTS 焦点上安装了 PostgreSQL 13,并尝试使用此指令安装 oracle_fdw 。因此,当尝试为 Linux x86-64 安装 Instant Client Installation(ZIP 包;据我所知,rpm 不适用于我的操作系统配置 - 20.04 ubuntu 焦点中没有 yum lib)我遵循所有步骤(除了最后一个 -启动您的应用程序 - 这是什么意思?)),当尝试在 oracle_fdw 目录中执行“make”时出现错误

致命错误:oci.h:没有这样的文件或目录

(我下载了oracle_fdw的最新开发版)。我找到了开发者 oracle_fdw 扩展的答案

“如果你没有oci.h,你没有安装oracle-instantclient12.2-devel-12.2.0.1.0-1.x86_64.rpm。”

但我已经解压缩了 Instantclient-basic-linux.x64-11.2.0.4.0.zip 和 Instantclient-sdk-linux.x64-11.2.0.4.0.zip ...(与远程 oracle db 版本 11.2 兼容)

当我试图find -name oci.h得到./sdk/include/oci.h

我的问题是——我真的必须在我的机器上安装 ORACLE 吗?或者我必须安装哪些 oracle 依赖项才能使用 oracle_fdw 扩展?也许我的 oracle-instantclient 安装不正确(我如何测试 oracle-instantclient 的安装?或者安装 oracle-instantclient 的位置必须是特定的)。PS:我对甲骨文完全陌生。

谢谢!

标签: oracle11goracle-fdw

解决方案


您只需要 Oracle Instant Client。

如果您的 Instant Client 安装不在 RPM 发行版的标准路径之一中,只需将环境变量设置ORACLE_HOME为 Instant Client 目录(包含 的目录sdk/include),那么make应该会成功。


推荐阅读