外部数据包装器
来自 PostgreSQL 维基
跳转到导航跳转到搜索外部数据包装器
2003 年,一个名为 SQL/MED(“外部数据的 SQL 管理”)的新规范被添加到 SQL 标准中。它是一种处理从 SQL 数据库访问远程对象的标准化方法。2011 年,PostgreSQL 9.1 发布了对该标准的只读支持,2013 年,PostgreSQL 9.3 添加了写入支持。
现在有各种可用的外部数据包装器 (FDW),它们使 PostgreSQL 服务器能够访问不同的远程数据存储,从其他 SQL 数据库到平面文件。此页面列出了目前可用的部分包装器。另一个 fdw 列表 可以 在 PGXN 网站 上找到。
请记住,这些包装器中的大多数不受 PostgreSQL 全球开发组 (PGDG)官方支持,并且其中一些项目仍处于测试版。请谨慎使用!
通用 SQL 数据库包装器
数据源 | 类型 | 许可证 | 代码 | 安装 | 文档 | 说明 | |
---|---|---|---|---|---|---|---|
ODBC | 原生 | github | CartoDB 接管了 PG 9.5+ 的 ODBC FDW 的主动开发 | ||||
JDBC | 原生 | github | 不再维护? | ||||
JDBC2 | 原生 | github | |||||
JDBC | 原生 | github | README | 比上面更新,广告支持写入。 | |||
SQL_Alchemy | Multicorn | PostgreSQL | GitHub | PGXN | 文档 | 可用于访问 sqlalchemy python 工具包支持的任何数据库中的数据。 | |
GDAL/OGR | 原生 | MIT | GitHub | yum.postgresql.org、apt.postgresql.org 以及 PostGIS windows 包的一部分(应用程序堆栈构建器) | 可以访问多种类型的数据源(关系数据库、电子表格、CSV 文件、Web 特征服务等)。使用 GDAL 库,它支持数百种格式来访问数据。如果安装了 PostGIS,则将矢量数据公开为 PostGIS 几何列。非常适合空间和非空间数据。 | ||
VirtDB | 原生 | GPL | GitHub | 一个通用的 FDW,用于访问 VirtDB 数据源(SAP ERP、Oracle RDBMS) | |||
API(通过 Steampipe 插件) | 原生 | CLI 和 FDW 扩展:AGPL 3.0,插件:Apache 2.0 | GitHub 上的 CLI、GitHub 上的 FDW 扩展 | Steampipe 下载 | Steampipe 文档、Postgres FDW 文档 | Steampipe 将 Postgres 与一个 FDW 扩展捆绑在一起,该扩展支持不断增长的 插件 生态系统。插件使用 API,将它们映射到表,并启用在 API 内和跨 API 的查询。 插件也可以作为 独立的 FDW 在任何 Postgres 数据库中使用。 |
特定 SQL 数据库包装器
数据源 | 类型 | 许可证 | 代码 | 安装 | 文档 | 说明 |
---|---|---|---|---|---|---|
PostgreSQL | 原生 | PostgreSQL | git.postgresql.org | 文档 | ||
Oracle | 原生 | PostgreSQL | github | PGXN | 网站 | |
MySQL | 原生 | github | PGXN | 示例 | MySQL 的 FDW | |
Informix | 原生 | PostgreSQL | github | |||
DB2 | 原生 | github | ||||
Firebird | 原生 | PostgreSQL | github | PGXN | README | 版本 1.3.0 发布(2022 年 12 月) |
SQLite | 原生 | PostgreSQL | github | PGXN | README | 用于 SQLite3 的 FDW(写入支持和多个下推优化) |
Sybase / MS SQL Server | 原生 | github | PGXN | 用于 Sybase 和 Microsoft SQL Server 的 FDW | ||
MonetDB | 原生 | github |
NoSQL 数据库包装器
文件包装器
数据源 | 类型 | 许可证 | 代码 | 安装 | 文档 | 说明 |
---|---|---|---|---|---|---|
CSV | 原生 | PostgreSQL | git.postgresql.org | 文档 | 作为 PostgreSQL 9.1 的官方扩展提供 / 示例 / 另一个示例 | |
CSV | Multicorn | PostgreSQL | GitHub | PGXN | 文档 | 表中定义的每个列将按顺序映射到 CSV 文件中的列。 |
CSV / 文本数组 | 原生 | GitHub | 操作方法 | 另一个 CSV 包装器 | ||
CSV / 定长 | 原生 | GitHub | ||||
CSV / 压缩 | Multicorn | GitHub | 用于压缩 cvs 文件的 PostgreSQL 外部数据包装器 | |||
压缩文件 | 原生 | GitHub | ||||
文档集合 | 原生 | PostgreSQL | GitHub | 维基 | ||
JSON | 原生 | GPL3 | GitHub | 示例 | ||
多文件 | Multicorn | PostgreSQL | GitHub | PGXN | 文档 | 访问存储在文件系统中各种文件中的数据。根据模式查找文件,并将文件路径的部分映射到各个列,以及文件的内容本身。 |
多 CDR | 原生 | PostgreSQL | GitHub | PGXN | ||
Parquet | 原生 | PostgreSQL | GitHub | 用于使用 libarrow/libparquet 读取 Parquet 文件的外部数据包装器 | ||
pg_dump | 原生 | 新 BSD | GitHub | 允许直接针对 pg_dump 创建的 Postgres 自定义格式文件查询数据 | ||
TAR 文件 | 原生 | GitHub | ||||
XML | Multicorn | PostgreSQL | GitHub | PGXN | ||
ZIP 文件 | 原生 | GitHub |
地理包装器
数据源 | 类型 | 许可证 | 代码 | 安装 | 文档 | 说明 |
---|---|---|---|---|---|---|
GDAL/OGR | 原生 | MIT | GitHub | 用于具有 GDAL/OGR 驱动程序的数据源的包装器,包括 Oracle、Informix、SQLite、SQL Server、ODBC 等数据库,以及 Shape、FGDB、MapInfo、CSV、Excel、OpenOffice、OpenStreetMap PBF 和 XML、OGC WebServices 等文件格式,等等 如果安装了 PostGIS,则空间列将链接为 PostGIS 几何。 | ||
地理编码 / GeoJSON | Multicorn | GPL | GitHub | PostGIS 相关外部数据包装器集合 | ||
Open Street Map PBF | 原生 | PostgreSQL | GitHub |
LDAP 包装器
数据源 | 类型 | 许可证 | 代码 | 安装 | 文档 | 说明 |
---|---|---|---|---|---|---|
LDAP | 原生 | GitHub | PGXN | 允许查询 LDAP 服务器并从一些预先配置的组织单位检索数据 | ||
LDAP | Multicorn | PostgreSQL | GitHub | PGXN | 文档 |
通用 Web 包装器
数据源 | 类型 | 许可证 | 代码 | 安装 | 文档 | 说明 |
---|---|---|---|---|---|---|
Git | Multicorn | PostgreSQL | GitHub | PGXN | ||
Git | 原生 | MIT | GitHub | |||
ICAL | Multicorn | PostgreSQL | GitHub | |||
IMAP | Multicorn | PostgreSQL | GitHub | PGXN | 文档 | |
RSS | Multicorn | PostgreSQL | GitHub | PGXN | 文档 | 此 fdw 可用于访问 RSS 提要中的项目。 |
www | 原生 | PostgreSQL | GitHub | PGXN | 维基 | 允许查询不同的 Web 服务 |
pgsql-http | 原生 | PostgreSQL | GitHub | 编译 | 允许使用 CURL 库查询任何 http 资源。作者:Paul Ramsey |
特定 Web 包装器
数据源 | 类型 | 许可证 | 代码 | 安装 | 文档 | 说明 |
---|---|---|---|---|---|---|
OAI-PMH | 原生 | MIT | GitHub | README | 用于访问 OAI-PMH 存储库(开放档案倡议协议,用于元数据收集)的 PostgreSQL 外部数据包装器。此包装器支持 OAI-PMH 2.0 协议。 | |
Cloudsmith.io | Multicorn | PostgreSQL | GitHub | |||
Database.com | Multicorn | BSD | GitHub | |||
Dun & Badstreet | Multicorn | PostgreSQL | GitHub | 访问 数据通用编号系统 (DUNS) | ||
DynamoDB | Multicorn | GPL | GitHub | |||
DynamoDB | 原生 | PostgreSQL | GitHub | |||
Multicorn | GitHub | |||||
Fixer.io | 基于 www_fdw | GitHub | ||||
Multicorn | PostgreSQL | GitHub | PGXN | |||
Heroku dataclips | 原生 | PostgreSQL | GitHub | |||
Keycloak | Multicorn | MIT | GitHub | PGXN | README | 与 Keycloak 开源身份/访问管理解决方案的直接数据库集成。 |
Mailchimp | Multicorn | PostgreSQL | GitHub | 测试版 | ||
Parse | Multicorn | MIT | GitHub | |||
S3 | 原生 | PostgreSQL | GitHub | PGXN | ||
S3 | 包装器 | Apache | GitHub | 文档 | 用于 S3 的外部数据包装器,支持 CVS、JSONL、Parquet 文件以及 gzip、bzip2、xz、zlib 压缩。 | |
S3CSV | Multicorn | GPL 3 | GitHub | 旨在取代 s3_fdw,s3_fdw 不支持 PostgreSQL 9.2+ 版本 | ||
ParquetS3 | 原生 | PostgreSQL | GitHub | 用于在 Amazon S3 / Minio 上使用 libarrow/libparquet 读取 Parquet 文件的外部数据包装器 | ||
Telegram | Multicorn | PostgreSQL | GitHub | telegram_fdw 是使用 PostgreSQL 外部数据包装器接口实现的 Telegram BOT。 | ||
原生 | PostgreSQL | GitHub | PGXN | 一个包装器,从 Twitter 获取文本消息并返回表格 | ||
Treasure Data | 原生 | Apache | GitHub | PGXN | 一个使用 Rust 库在内部用于 Treasure Data 的 FDW | |
Treasure Data | Multicorn | Apache | GitHub | |||
Google Spreadsheets | Multicorn | MIT | GitHub | |||
Open Weather Map | Multicorn | MIT | GitHub | 用于 Open Weather Map(单个城市)的 FDW | ||
Airtable | 包装器 | Apache | GitHub | 文档 | 用于 Airtable 的外部数据包装器 | |
Firebase | 包装器 | Apache | GitHub | 文档 | 用于 Firebase 的外部数据包装器 | |
Logflare | 包装器 | Apache | GitHub | 文档 | 用于 Logflare 的外部数据包装器 | |
Stripe | 包装器 | Apache | GitHub | 文档 | 用于 Stripe 的外部数据包装器 |
大数据包装器
数据源 | 类型 | 许可证 | 代码 | 安装 | 文档 | 说明 |
---|---|---|---|---|---|---|
Elasticsearch | Multicorn | MIT | GitHub | 支持 PG 15、ES 8。 | ||
Google BigQuery | Multicorn | MIT | GitHub | 文档 | bigquery_fdw 是与 PostgreSQL >= 9.5 兼容的 BigQuery FDW | |
Google BigQuery | 包装器 | Apache | GitHub | 文档 | 用于 BigQuery 的外部数据包装器 | |
file_fdw-gds(Hadoop) | 原生 | GitHub | Hadoop file_fdw 是 PostgreSQL 9.3 的 file_fdw 模块的略微修改版本。 | |||
Hadoop | 原生 | PostgreSQL | Bitbucket | 允许对 HBase 以及通过 Hive 对 HDFS 进行读写访问。 | ||
HDFS | 原生 | Apache | GitHub | |||
Hive | Multicorn | GitHub | 用于访问 Apache Hive 表。 | |||
Hive / ORC 文件 | 原生 | GitHub | ||||
Impala | 原生 | BSD | GitHub | |||
Apache Arrow | 原生 | GPLv2 | GitHub | PG-Strom 功能的一部分;作为支持 SSD 到 GPU 的直接 SQL 的列式数据源 |
列式包装器
数据源 | 类型 | 许可证 | 代码 | 安装 | 文档 | 说明 |
---|---|---|---|---|---|---|
列式存储 | 原生 | github | 示例 | PostgreSQL 的列式存储。 | ||
MonetDB | 原生 | github | ||||
GPU 内存存储 | 原生 | GPL v2 | github | FDW 到 GPU 设备内存;PG-Strom 功能的一部分,用于 PL/CUDA |
科学包装器
数据源 | 类型 | 许可证 | 代码 | 安装 | 文档 | 说明 |
---|---|---|---|---|---|---|
Ambry | Multicorn | GitHub | ||||
ROOT 文件 | 原生 | GitHub | https://root.cern.ch | |||
VCF 文件(基因型) | Multicorn | GitHub | https://en.wikipedia.org/wiki/Variant_Call_Format |
操作系统包装器
数据源 | 类型 | 许可证 | 代码 | 安装 | 文档 | 说明 |
---|---|---|---|---|---|---|
Docker | Multicorn | Expat | GitHub | |||
日志文件 | Multicorn | PostgreSQL | GitHub | |||
OpenStack / Telemetry | Multicorn | PostgreSQL | GitHub | |||
OS 查询 | Multicorn | PostgreSQL | GitHub | 类似 Facebook 的 OSQuery,但适用于 Postgres | ||
Passwd | 原生 | PostgreSQL | GitHub | 读取 linux/unix 密码和组文件。 | ||
进程 | Multicorn | PostgreSQL | GitHub | 用于基于 statgrab 查询系统统计信息的外部数据包装器 | ||
环境变量 | Multicorn | MIT | GitHub | envFDW 是用于处理环境变量的外部数据包装器 |
异域包装器
数据源 | 类型 | 许可证 | 代码 | 安装 | 文档 | 说明 |
---|---|---|---|---|---|---|
faker_fdw | Multicorn | PostgreSQL | GitHub | faker_fdw 是一个用于 PostgreSQL 的外部数据包装器,用于生成虚假数据。 | ||
fdw_fdw | Multicorn | PostgreSQL | GitHub | 元 FDW !读取此页面并返回所有 FDW 的列表 | ||
PPG | 原生 | GitHub | 基于 fdw 和 PG 挂钩的分布式并行查询引擎 | |||
开放公民数据 | Multicorn | Expat | GitHub | |||
飞利浦 Hue 照明系统 | Multicorn | MIT | GitHub | |||
随机数 | Multicorn | PostgreSQL | GitHub | PostgreSQL 随机数生成器外部数据包装器 | ||
Rotfang | 原生 | PostgreSQL | BitBucket | 幻灯片 | 高级随机数生成器 | |
模板表 | 原生 | BSD | GitHub | PostgreSQL 模板表数据包装器 - 不允许任何 DML 和 SELECT 操作 | ||
VMware vSphere | Multicorn | MIT | GitHub | 查询 VMware vSphere 服务的 PostgreSQL FDW |
示例包装器
数据源 | 类型 | 许可证 | 代码 | 安装 | 文档 | 说明 |
---|---|---|---|---|---|---|
虚拟 | 原生 | BSD | GitHub | 用于测试的可读空 FDW | ||
你好,世界 | GitHub | |||||
你好,世界 | 包装器 | Apache | GitHub | README | 演示外部数据包装器 | |
黑洞 | bitbucket | 一个预先填充了文档相关摘录的框架 FDW |
编写外部数据库包装器
- Multicorn 是一个允许你在 Python 中编写 FDW 的扩展
- Holycorn 是一个允许你在 Ruby 中编写 FDW 的扩展
- 文档:编写外部数据包装器
- Black Hole FDW - 一个预先填充了文档相关摘录的框架 FDW
- Guillaume Lelarge 的 FDW 教程
- django-fdw 用于测试 django 和 Postgres 外部数据包装器的示例项目
- Wrappers 是一个开发框架,允许你在 Rust 中编写 FDW