我已经为 postgreSql 安装了 oracle_fdw 插件,并且已经到了可以创建外部表的地步。但是当我尝试查询此表时,我收到以下错误:
ERROR: error connecting to Oracle: OCIEnvCreate failed to create environment handle
我通过以下线程讨论了这个确切的问题:
问题是我无法为ORACLE_HOME设置环境变量。下面是检查环境的命令和正在运行的 postgres 进程的相应输出:
:$ sudo cat /proc/4885/environ | xargs -0 -n 1 echo | sort
LANG=en_IN
PGDATA=/var/lib/postgresql/9.6/main
PG_GRANDPARENT_PID=4880
PGLOCALEDIR=/usr/share/locale
PG_OOM_ADJUST_FILE=/proc/self/oom_score_adj
PGSYSCONFDIR=/etc/postgresql-common
PWD=/
我试图在所有可能的地方导出这个变量,但无济于事。我提到了以下线程:
因此,我在以下文件中添加了环境变量:(使用sudo su postgres作为 postgres 登录后)
~/.bashrc
~/.bash_profile
~/.bash_login
~/.login
~/.profile
/etc/profile
在所有这些文件中,我都有以下行:
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe/
我在这里错过了什么吗?
PS:我在 Ubuntu 17.10 上使用 Postgres 9.6