我的操作系统是 redhat 7.3,我正尝试将 orafce 安装到带有 psql 版本 9.2 和服务器版本 9.6 的 postgresql 中。首先,我尝试通过在 github 上下载的脚本 orafce 进行安装,但在阅读了有关 postgresql 中的扩展的一些主题后,我了解到安装只需要运行
创建扩展 orafce;
在 psql 中,因为 .sql 中的文件已经存在于 postgresql 的扩展目录中。但我的问题是,当我运行此命令时,它说
错误:无法访问文件“$libdir/orafce:没有此文件或目录”。
当我运行命令时
从 pg_available_extensions 中选择 *;
要查找哪个版本的 orafce 与我的 postgresql 版本兼容,它显示版本“3.1”。因此我运行命令
创建扩展 orafce--3.1;
在我的数据库中使用超级用户,这次没有出现任何错误。但是当我以同一用户身份检查数据库中的扩展列表时
\dx
我看不到 orafce,并且我无法在我的 pgplsql 代码中使用 orafce 函数。
答案1
您看到的错误是因为 orafce 未正确安装,当您尝试创建扩展时,Postgres 期望在其 $(libdir) 中找到共享库 orafce.so。
在解压的 orafce 源目录中有一个文件 INSTALL.orafce,其中显示了安装所需的步骤。安装后
创建扩展 orafce;
应该可以正常工作。