gpt4 book ai didi

postgresql - 来自 Ubuntu VM 的 Postgres ODBC 连接问题

转载 作者:行者123 更新时间:2023-11-29 11:49:42 32 4
gpt4 key购买 nike

我正在尝试使用在 Ubuntu 虚拟机上运行的 Zabbix 服务器来监控我们在同一台主机(而非虚拟机)上运行的应用程序中的 Postgres 数据库。明确地说,我正在尝试从我计算机上的 Linux Ubuntu 虚拟机连接到同样不在同一台计算机上的 VM 中运行的 Postgres。 Zabbix 使用 ODBC,因此该过程的第一步是让 ODBC 连接到 Postgres 正常工作。但是,我遇到了问题。

我采取的步骤:

  • 通过 sudo apt-get install unixodbc unixodbc-dev 安装 unixODBC
  • 通过 sudo apt-get install odbc-postgresql 为 Postgres 安装了 unixODBC 驱动程序
  • odbc.ini 配置为以下内容:


[test]
Description = test database
Driver = /usr/lib/x86_64-linux-gnu/odbc/psqlodbca.so
Setup = /usr/lib/x86_64-linux-gnu/odbc/libodbcpsqlS.so
Server = 192.168.240.1
User = postgres
Password =
Port = 5432
Database = mydb

然而,当我通过以下方式测试连接时:

isql test -v

我收到以下错误:

[08001][unixODBC]could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?

更多注意事项:

  • 我可以从本地(非 VM)机器上运行的管理员成功连接到 Postgres
  • 端口 5432 已从本地计算机上的 Windows 防火墙完全打开
  • 在5432端口telnet到192.168.240.1( native 的网络IP)成功

这一切都意味着问题与 Ubuntu VM 中的 ODBC 配置有关。我花了几个小时搜索和尝试各种方法,但无济于事。如果我能让 isql 正常工作,我就应该开始工作了,因为 Zabbix 的数据库监控功能基本上位于 ODBC 之上。

预先感谢您的帮助。

最佳答案

我认为您的配置选项有点偏离。试试这个:

[test]
Driver = /usr/lib/x86_64-linux-gnu/odbc/psqlodbca.so
Setup = /usr/lib/x86_64-linux-gnu/odbc/libodbcpsqlS.so
Database = mydb
Servername = 192.168.240.1
UserName = postgres
Password =
Port = 5432
Protocol = 7.4

使用 Servername 代替 Server 可能就足够了。

关于postgresql - 来自 Ubuntu VM 的 Postgres ODBC 连接问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39013798/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com