2 针对 PostgreSQL 的推荐 UnixODBC 设置

安装

  • Red Hat Enterprise Linux:
dnf install postgresql-odbc
  • Debian/Ubuntu:

请参考PostgreSQL documentation下载对应平台所需的数据库驱动。

更多相关信息请参阅:installing unixODBC

配置

ODBC配置通过编辑odbcinst.iniodbc.ini文件完成。这些配置文件可在/etc 目录中找到。file odbcinst.ini文件可能缺失,此时需要 create手动创建。

请参考以下示例:

odbcinst.ini

[postgresql]
Description = General ODBC for PostgreSQL
Driver      = /usr/lib64/libodbcpsql.so
Setup       = /usr/lib64/libodbcpsqlS.so
FileUsage   = 1
# Since 1.6 if the driver manager was built with thread support you may add another entry to each driver entry.
# This entry alters the default thread serialization level.
Threading   = 2

odbc.ini

[TEST_PSQL] Description = PostgreSQL数据库1 Driver = postgresql

CommLog = /tmp/sql.log

Username = zbx_test
Password = zabbix
# 服务器名称。IP或DNS
Servername = 127.0.0.1
# 数据库名称
Database = zabbix
# Postmaster监听端口
Port = 5432
# 数据库为只读
# 数据源是否允许更新。
ReadOnly = No
# PostgreSQL后端协议
# 注意:使用SSL连接时此设置将被忽略。
# 7.4+: 使用7.4(V3)协议。仅与7.4及更高版本的后端兼容。
Protocol = 7.4+
# 在SQLColumns中包含OID
ShowOidColumn = No
# 在OID上模拟唯一索引
FakeOidIndex  = No
# 行版本控制
# 允许应用程序检测数据是否被其他用户修改
# 当您尝试update一行时。
# 它还加速了update过程,因为不需要在where子句中指定每一列来update一行。
RowVersioning = No
# 显示系统表
# 驱动程序将在SQLTables中将系统表视为常规表。这对Access很有用,因此您可以看到系统表。
ShowSystemTables = No
# 如果为true,驱动程序自动使用declare cursor/fetch处理SELECT语句,并在缓存中保留100行。
Fetch = Yes
# 布尔值作为字符
# 布尔值映射到SQL_CHAR,否则映射到SQL_BIT。
BoolsAsChar = Yes
# SSL模式
SSLmode = Require
# 连接时发送到后端
ConnSettings =