odbc_fdw
访问ODBC可访问的任何外部数据源
概览
| 扩展包名 | 版本 | 分类 | 许可证 | 语言 |
|---|---|---|---|---|
odbc_fdw | 0.5.1 | FDW | PostgreSQL | C |
| ID | 扩展名 | Bin | Lib | Load | Create | Trust | Reloc | 模式 |
|---|---|---|---|---|---|---|---|---|
| 8520 | odbc_fdw | 否 | 是 | 否 | 是 | 否 | 是 | - |
| 相关扩展 | wrappers multicorn jdbc_fdw mysql_fdw oracle_fdw tds_fdw db2_fdw postgres_fdw |
|---|
版本
| 类型 | 仓库 | 版本 | PG 大版本 | 包名 | 依赖 |
|---|---|---|---|---|---|
| EXT | PGDG | 0.5.1 | 1817161514 | odbc_fdw | - |
| RPM | PGDG | 0.5.1 | 1817161514 | odbc_fdw_$v | unixODBC |
| OS / PG | PG18 | PG17 | PG16 | PG15 | PG14 |
|---|---|---|---|---|---|
| el8.x86_64 | PGDG MISS | PGDG 0.5.1 el8.x86_64.pg17 : odbc_fdw_17 odbc_fdw_17-0.5.1-2PGDG.rhel8.x86_64.rpm
| PGDG 0.5.1 el8.x86_64.pg16 : odbc_fdw_16 odbc_fdw_16-0.5.1-1PGDG.rhel8.x86_64.rpm
| PGDG 0.5.1 el8.x86_64.pg15 : odbc_fdw_15 odbc_fdw_15-0.5.1-1PGDG.rhel8.x86_64.rpm
| PGDG 0.5.1 el8.x86_64.pg14 : odbc_fdw_14 odbc_fdw_14-0.5.1-1PGDG.rhel8.x86_64.rpm
|
| el8.aarch64 | PGDG MISS | PGDG 0.5.1 el8.aarch64.pg17 : odbc_fdw_17 odbc_fdw_17-0.5.1-2PGDG.rhel8.aarch64.rpm
| PGDG 0.5.1 el8.aarch64.pg16 : odbc_fdw_16 odbc_fdw_16-0.5.1-1PGDG.rhel8.aarch64.rpm
| PGDG 0.5.1 el8.aarch64.pg15 : odbc_fdw_15 odbc_fdw_15-0.5.1-1PGDG.rhel8.aarch64.rpm
| PGDG 0.5.1 el8.aarch64.pg14 : odbc_fdw_14 odbc_fdw_14-0.5.1-1PGDG.rhel8.aarch64.rpm
|
| el9.x86_64 | PGDG MISS | PGDG 0.5.1 el9.x86_64.pg17 : odbc_fdw_17 odbc_fdw_17-0.5.1-2PGDG.rhel9.x86_64.rpm
| PGDG 0.5.1 el9.x86_64.pg16 : odbc_fdw_16 odbc_fdw_16-0.5.1-1PGDG.rhel9.x86_64.rpm
| PGDG 0.5.1 el9.x86_64.pg15 : odbc_fdw_15 odbc_fdw_15-0.5.1-1PGDG.rhel9.x86_64.rpm
| PGDG 0.5.1 el9.x86_64.pg14 : odbc_fdw_14 odbc_fdw_14-0.5.1-1PGDG.rhel9.x86_64.rpm
|
| el9.aarch64 | PGDG MISS | PGDG 0.5.1 el9.aarch64.pg17 : odbc_fdw_17 odbc_fdw_17-0.5.1-2PGDG.rhel9.aarch64.rpm
| PGDG 0.5.1 el9.aarch64.pg16 : odbc_fdw_16 odbc_fdw_16-0.5.1-1PGDG.rhel9.aarch64.rpm
| PGDG 0.5.1 el9.aarch64.pg15 : odbc_fdw_15 odbc_fdw_15-0.5.1-1PGDG.rhel9.aarch64.rpm
| PGDG 0.5.1 el9.aarch64.pg14 : odbc_fdw_14 odbc_fdw_14-0.5.1-1PGDG.rhel9.aarch64.rpm
|
| el10.x86_64 | PGDG MISS | PGDG 0.5.1 el10.x86_64.pg17 : odbc_fdw_17 odbc_fdw_17-0.5.1-3PGDG.rhel10.x86_64.rpm
| PGDG 0.5.1 el10.x86_64.pg16 : odbc_fdw_16 odbc_fdw_16-0.5.1-3PGDG.rhel10.x86_64.rpm
| PGDG 0.5.1 el10.x86_64.pg15 : odbc_fdw_15 odbc_fdw_15-0.5.1-3PGDG.rhel10.x86_64.rpm
| PGDG 0.5.1 el10.x86_64.pg14 : odbc_fdw_14 odbc_fdw_14-0.5.1-3PGDG.rhel10.x86_64.rpm
|
| el10.aarch64 | PGDG MISS | PGDG 0.5.1 el10.aarch64.pg17 : odbc_fdw_17 odbc_fdw_17-0.5.1-3PGDG.rhel10.aarch64.rpm
| PGDG 0.5.1 el10.aarch64.pg16 : odbc_fdw_16 odbc_fdw_16-0.5.1-3PGDG.rhel10.aarch64.rpm
| PGDG 0.5.1 el10.aarch64.pg15 : odbc_fdw_15 odbc_fdw_15-0.5.1-3PGDG.rhel10.aarch64.rpm
| PGDG 0.5.1 el10.aarch64.pg14 : odbc_fdw_14 odbc_fdw_14-0.5.1-3PGDG.rhel10.aarch64.rpm
|
| d12.x86_64 | PGDG MISS | PGDG MISS | PGDG MISS | PGDG MISS | PGDG MISS |
| d12.aarch64 | PGDG MISS | PGDG MISS | PGDG MISS | PGDG MISS | PGDG MISS |
| d13.x86_64 | PGDG MISS | PGDG MISS | PGDG MISS | PGDG MISS | PGDG MISS |
| d13.aarch64 | PGDG MISS | PGDG MISS | PGDG MISS | PGDG MISS | PGDG MISS |
| u22.x86_64 | PGDG MISS | PGDG MISS | PGDG MISS | PGDG MISS | PGDG MISS |
| u22.aarch64 | PGDG MISS | PGDG MISS | PGDG MISS | PGDG MISS | PGDG MISS |
| u24.x86_64 | PGDG MISS | PGDG MISS | PGDG MISS | PGDG MISS | PGDG MISS |
| u24.aarch64 | PGDG MISS | PGDG MISS | PGDG MISS | PGDG MISS | PGDG MISS |
安装
您可以直接安装 odbc_fdw 扩展包的预置二进制包,首先确保 PGDG 仓库已经添加并启用:
pig repo add pgdg -u # 添加 PGDG 仓库并更新缓存
使用 pig 或者是 apt/yum/dnf 安装扩展:
pig install odbc_fdw; # 当前活跃 PG 版本安装
pig ext install -y odbc_fdw -v 17 # PG 17
pig ext install -y odbc_fdw -v 16 # PG 16
pig ext install -y odbc_fdw -v 15 # PG 15
pig ext install -y odbc_fdw -v 14 # PG 14
dnf install -y odbc_fdw_17 # PG 17
dnf install -y odbc_fdw_16 # PG 16
dnf install -y odbc_fdw_15 # PG 15
dnf install -y odbc_fdw_14 # PG 14
创建扩展:
CREATE EXTENSION odbc_fdw;
用法
创建服务器
使用 ODBC 配置中定义的 DSN 连接:
CREATE EXTENSION odbc_fdw;
CREATE SERVER odbc_server
FOREIGN DATA WRAPPER odbc_fdw
OPTIONS (dsn 'test');
或者不使用 DSN,直接指定连接属性:
CREATE SERVER odbc_server
FOREIGN DATA WRAPPER odbc_fdw
OPTIONS (
odbc_DRIVER 'MySQL',
odbc_SERVER '192.168.1.17',
encoding 'iso88591'
);
服务器选项: dsn(ODBC 数据源名称)、driver(ODBC 驱动名称,无 DSN 时必填)、odbc_*(驱动特定属性)、encoding(远程数据库字符编码)。
驱动特定选项需加 odbc_ 前缀。属性 DSN、DRIVER、UID 和 PWD 会自动转为大写。
创建用户映射
CREATE USER MAPPING FOR postgres
SERVER odbc_server
OPTIONS (odbc_UID 'root', odbc_PWD '');
创建外部表
CREATE FOREIGN TABLE odbc_table (
id integer,
name varchar(255),
description text,
users float4,
created timestamp
)
SERVER odbc_server
OPTIONS (
odbc_DATABASE 'mydb',
schema 'test',
sql_query 'SELECT id, name, description, created, users FROM test.mytable',
sql_count 'SELECT count(id) FROM test.mytable'
);
SELECT * FROM odbc_table;
表选项: schema(远程模式)、table(远程表名)、sql_query(自定义 SQL 查询,覆盖 table)、sql_count(自定义计数 SQL)。
导入外部模式
IMPORT FOREIGN SCHEMA test
FROM SERVER odbc_server
INTO public
OPTIONS (odbc_DATABASE 'mydb');