Postgresql 错误:外部表的连接;测试“搪瓷”;无法确定

Postgresql 错误:外部表的连接;测试“搪瓷”;无法确定,postgresql,foreign-data-wrapper,oracle-fdw,Postgresql,Foreign Data Wrapper,Oracle Fdw,我在从Postgres选择外文表时出现以下错误&请帮助我解决此问题 错误:无法建立外部表“测试名称”的连接 详细信息:ORA-12154:TNS:无法解析连接标识符 指定的 SQL状态:HV00N 详细信息 1.我正在Windows 10 64位计算机上使用Postgres 13版本 2.我在Windows 10 6位计算机上成功安装了oracle_fdw-2.3.0-pg13-win64 3.为TNS\u ADMIN=C:\Oracle\product\12.2.0x64\client\u 1

我在从Postgres选择外文表时出现以下错误&请帮助我解决此问题

错误:无法建立外部表“测试名称”的连接

详细信息:ORA-12154:TNS:无法解析连接标识符 指定的

SQL状态:HV00N

详细信息

1.我正在Windows 10 64位计算机上使用Postgres 13版本

2.我在Windows 10 6位计算机上成功安装了oracle_fdw-2.3.0-pg13-win64

3.为TNS\u ADMIN=C:\Oracle\product\12.2.0x64\client\u 1\network\ADMIN创建了系统变量

4.成功创建以下步骤

CREATE FOREIGN DATA WRAPPER oracle_fdw

CREATE SERVER foreign_oracle
TYPE 'Oracle12'
VERSION '12'
FOREIGN DATA WRAPPER oracle_fdw
OPTIONS (dbserver '//vms1.abc.com:1524/ABC00D70');

CREATE USER MAPPING FOR postgres SERVER foreign_oracle
OPTIONS ("user" 'Test', password 'Test1');

CREATE FOREIGN TABLE test_enames(
eno numeric NULL,
ename character varying(100),
eloc character varying(100)
) SERVER foreign_oracle
OPTIONS (table 'TEST_ENAMES');
但在选择表格时仍然出现错误,请告诉我是否遗漏了任何步骤


谢谢,这似乎是Oracle的配置问题。 要对此进行调试,请尝试以运行PostgreSQL服务的操作系统用户身份运行以下命令:

sqlplus测试/Test1@//vms150.abc.com:1524/ABC00D70
如果这不起作用,开始调试它。这应该更容易,因为甲骨文fdw当时不在等式中

如果上面的sqlplus调用按照您的意愿工作,请确保PostgreSQL服务设置了
TNS\u ADMIN
环境变量(设置后是否重新启动服务?)。我不知道如何在Windows上检查正在运行的进程的环境,但“process Explorer”可能会起作用

此外,不应使用
CREATE FOREIGN DATA WRAPPER
创建FDW,而应按照文档中的指定创建扩展:

CREATE EXTENSION oracle_fdw;

这将为您创建外部数据包装。

问题已通过以下更正得到解决。创建服务器外部\u oracle类型“Oracle12”版本“12”外部数据包装oracle\u fdw选项(dbserver“ABC00D70”);是的,是Oracle配置问题。