wrappers
Supabase提供的外部数据源包装器捆绑包
概览
| 扩展包名 | 版本 | 分类 | 许可证 | 语言 |
|---|---|---|---|---|
wrappers | 0.6.0 | FDW | Apache-2.0 | Rust |
| ID | 扩展名 | Bin | Lib | Load | Create | Trust | Reloc | 模式 |
|---|---|---|---|---|---|---|---|---|
| 8500 | wrappers | 否 | 是 | 否 | 是 | 否 | 是 | - |
| 相关扩展 | multicorn odbc_fdw jdbc_fdw pgspider_ext |
|---|
manually upgraded PGRX from 0.16.1 to 0.17.0 by Vonng
版本
| 类型 | 仓库 | 版本 | PG 大版本 | 包名 | 依赖 |
|---|---|---|---|---|---|
| EXT | PIGSTY | 0.6.0 | 1817161514 | wrappers | - |
| RPM | PIGSTY | 0.6.0 | 1817161514 | wrappers_$v | - |
| DEB | PIGSTY | 0.6.0 | 1817161514 | postgresql-$v-wrappers | - |
| OS / PG | PG18 | PG17 | PG16 | PG15 | PG14 |
|---|---|---|---|---|---|
| el8.x86_64 | PIGSTY 0.6.0 el8.x86_64.pg18 : wrappers_18 wrappers_18-0.6.0-1PIGSTY.el8.x86_64.rpm
| PIGSTY 0.6.0 el8.x86_64.pg17 : wrappers_17 wrappers_17-0.6.0-1PIGSTY.el8.x86_64.rpm
| PIGSTY 0.6.0 el8.x86_64.pg16 : wrappers_16 wrappers_16-0.6.0-1PIGSTY.el8.x86_64.rpm
| PIGSTY 0.6.0 el8.x86_64.pg15 : wrappers_15 wrappers_15-0.6.0-1PIGSTY.el8.x86_64.rpm
| PIGSTY 0.6.0 el8.x86_64.pg14 : wrappers_14 wrappers_14-0.6.0-1PIGSTY.el8.x86_64.rpm
|
| el8.aarch64 | PIGSTY 0.6.0 el8.aarch64.pg18 : wrappers_18 wrappers_18-0.6.0-1PIGSTY.el8.aarch64.rpm
| PIGSTY 0.6.0 el8.aarch64.pg17 : wrappers_17 wrappers_17-0.6.0-1PIGSTY.el8.aarch64.rpm
| PIGSTY 0.6.0 el8.aarch64.pg16 : wrappers_16 wrappers_16-0.6.0-1PIGSTY.el8.aarch64.rpm
| PIGSTY 0.6.0 el8.aarch64.pg15 : wrappers_15 wrappers_15-0.6.0-1PIGSTY.el8.aarch64.rpm
| PIGSTY 0.6.0 el8.aarch64.pg14 : wrappers_14 wrappers_14-0.6.0-1PIGSTY.el8.aarch64.rpm
|
| el9.x86_64 | PIGSTY 0.6.0 el9.x86_64.pg18 : wrappers_18 wrappers_18-0.6.0-1PIGSTY.el9.x86_64.rpm
| PIGSTY 0.6.0 el9.x86_64.pg17 : wrappers_17 wrappers_17-0.6.0-1PIGSTY.el9.x86_64.rpm
| PIGSTY 0.6.0 el9.x86_64.pg16 : wrappers_16 wrappers_16-0.6.0-1PIGSTY.el9.x86_64.rpm
| PIGSTY 0.6.0 el9.x86_64.pg15 : wrappers_15 wrappers_15-0.6.0-1PIGSTY.el9.x86_64.rpm
| PIGSTY 0.6.0 el9.x86_64.pg14 : wrappers_14 wrappers_14-0.6.0-1PIGSTY.el9.x86_64.rpm
|
| el9.aarch64 | PIGSTY 0.6.0 el9.aarch64.pg18 : wrappers_18 wrappers_18-0.6.0-1PIGSTY.el9.aarch64.rpm
| PIGSTY 0.6.0 el9.aarch64.pg17 : wrappers_17 wrappers_17-0.6.0-1PIGSTY.el9.aarch64.rpm
| PIGSTY 0.6.0 el9.aarch64.pg16 : wrappers_16 wrappers_16-0.6.0-1PIGSTY.el9.aarch64.rpm
| PIGSTY 0.6.0 el9.aarch64.pg15 : wrappers_15 wrappers_15-0.6.0-1PIGSTY.el9.aarch64.rpm
| PIGSTY 0.6.0 el9.aarch64.pg14 : wrappers_14 wrappers_14-0.6.0-1PIGSTY.el9.aarch64.rpm
|
| el10.x86_64 | PIGSTY 0.6.0 el10.x86_64.pg18 : wrappers_18 wrappers_18-0.6.0-1PIGSTY.el10.x86_64.rpm
| PIGSTY 0.6.0 el10.x86_64.pg17 : wrappers_17 wrappers_17-0.6.0-1PIGSTY.el10.x86_64.rpm
| PIGSTY 0.6.0 el10.x86_64.pg16 : wrappers_16 wrappers_16-0.6.0-1PIGSTY.el10.x86_64.rpm
| PIGSTY 0.6.0 el10.x86_64.pg15 : wrappers_15 wrappers_15-0.6.0-1PIGSTY.el10.x86_64.rpm
| PIGSTY 0.6.0 el10.x86_64.pg14 : wrappers_14 wrappers_14-0.6.0-1PIGSTY.el10.x86_64.rpm
|
| el10.aarch64 | PIGSTY 0.6.0 el10.aarch64.pg18 : wrappers_18 wrappers_18-0.6.0-1PIGSTY.el10.aarch64.rpm
| PIGSTY 0.6.0 el10.aarch64.pg17 : wrappers_17 wrappers_17-0.6.0-1PIGSTY.el10.aarch64.rpm
| PIGSTY 0.6.0 el10.aarch64.pg16 : wrappers_16 wrappers_16-0.6.0-1PIGSTY.el10.aarch64.rpm
| PIGSTY 0.6.0 el10.aarch64.pg15 : wrappers_15 wrappers_15-0.6.0-1PIGSTY.el10.aarch64.rpm
| PIGSTY 0.6.0 el10.aarch64.pg14 : wrappers_14 wrappers_14-0.6.0-1PIGSTY.el10.aarch64.rpm
|
| d12.x86_64 | PIGSTY 0.6.0 d12.x86_64.pg18 : postgresql-18-wrappers postgresql-18-wrappers_0.6.0-1PIGSTY~bookworm_amd64.deb
| PIGSTY 0.6.0 d12.x86_64.pg17 : postgresql-17-wrappers postgresql-17-wrappers_0.6.0-1PIGSTY~bookworm_amd64.deb
| PIGSTY 0.6.0 d12.x86_64.pg16 : postgresql-16-wrappers postgresql-16-wrappers_0.6.0-1PIGSTY~bookworm_amd64.deb
| PIGSTY 0.6.0 d12.x86_64.pg15 : postgresql-15-wrappers postgresql-15-wrappers_0.6.0-1PIGSTY~bookworm_amd64.deb
| PIGSTY 0.6.0 d12.x86_64.pg14 : postgresql-14-wrappers postgresql-14-wrappers_0.6.0-1PIGSTY~bookworm_amd64.deb
|
| d12.aarch64 | PIGSTY 0.6.0 d12.aarch64.pg18 : postgresql-18-wrappers postgresql-18-wrappers_0.6.0-1PIGSTY~bookworm_arm64.deb
| PIGSTY 0.6.0 d12.aarch64.pg17 : postgresql-17-wrappers postgresql-17-wrappers_0.6.0-1PIGSTY~bookworm_arm64.deb
| PIGSTY 0.6.0 d12.aarch64.pg16 : postgresql-16-wrappers postgresql-16-wrappers_0.6.0-1PIGSTY~bookworm_arm64.deb
| PIGSTY 0.6.0 d12.aarch64.pg15 : postgresql-15-wrappers postgresql-15-wrappers_0.6.0-1PIGSTY~bookworm_arm64.deb
| PIGSTY 0.6.0 d12.aarch64.pg14 : postgresql-14-wrappers postgresql-14-wrappers_0.6.0-1PIGSTY~bookworm_arm64.deb
|
| d13.x86_64 | PIGSTY 0.6.0 d13.x86_64.pg18 : postgresql-18-wrappers postgresql-18-wrappers_0.6.0-1PIGSTY~trixie_amd64.deb
| PIGSTY 0.6.0 d13.x86_64.pg17 : postgresql-17-wrappers postgresql-17-wrappers_0.6.0-1PIGSTY~trixie_amd64.deb
| PIGSTY 0.6.0 d13.x86_64.pg16 : postgresql-16-wrappers postgresql-16-wrappers_0.6.0-1PIGSTY~trixie_amd64.deb
| PIGSTY 0.6.0 d13.x86_64.pg15 : postgresql-15-wrappers postgresql-15-wrappers_0.6.0-1PIGSTY~trixie_amd64.deb
| PIGSTY 0.6.0 d13.x86_64.pg14 : postgresql-14-wrappers postgresql-14-wrappers_0.6.0-1PIGSTY~trixie_amd64.deb
|
| d13.aarch64 | PIGSTY 0.6.0 d13.aarch64.pg18 : postgresql-18-wrappers postgresql-18-wrappers_0.6.0-1PIGSTY~trixie_arm64.deb
| PIGSTY 0.6.0 d13.aarch64.pg17 : postgresql-17-wrappers postgresql-17-wrappers_0.6.0-1PIGSTY~trixie_arm64.deb
| PIGSTY 0.6.0 d13.aarch64.pg16 : postgresql-16-wrappers postgresql-16-wrappers_0.6.0-1PIGSTY~trixie_arm64.deb
| PIGSTY 0.6.0 d13.aarch64.pg15 : postgresql-15-wrappers postgresql-15-wrappers_0.6.0-1PIGSTY~trixie_arm64.deb
| PIGSTY 0.6.0 d13.aarch64.pg14 : postgresql-14-wrappers postgresql-14-wrappers_0.6.0-1PIGSTY~trixie_arm64.deb
|
| u22.x86_64 | PIGSTY 0.6.0 u22.x86_64.pg18 : postgresql-18-wrappers postgresql-18-wrappers_0.6.0-1PIGSTY~jammy_amd64.deb
| PIGSTY 0.6.0 u22.x86_64.pg17 : postgresql-17-wrappers postgresql-17-wrappers_0.6.0-1PIGSTY~jammy_amd64.deb
| PIGSTY 0.6.0 u22.x86_64.pg16 : postgresql-16-wrappers postgresql-16-wrappers_0.6.0-1PIGSTY~jammy_amd64.deb
| PIGSTY 0.6.0 u22.x86_64.pg15 : postgresql-15-wrappers postgresql-15-wrappers_0.6.0-1PIGSTY~jammy_amd64.deb
| PIGSTY 0.6.0 u22.x86_64.pg14 : postgresql-14-wrappers postgresql-14-wrappers_0.6.0-1PIGSTY~jammy_amd64.deb
|
| u22.aarch64 | PIGSTY 0.6.0 u22.aarch64.pg18 : postgresql-18-wrappers postgresql-18-wrappers_0.6.0-1PIGSTY~jammy_arm64.deb
| PIGSTY 0.6.0 u22.aarch64.pg17 : postgresql-17-wrappers postgresql-17-wrappers_0.6.0-1PIGSTY~jammy_arm64.deb
| PIGSTY 0.6.0 u22.aarch64.pg16 : postgresql-16-wrappers postgresql-16-wrappers_0.6.0-1PIGSTY~jammy_arm64.deb
| PIGSTY 0.6.0 u22.aarch64.pg15 : postgresql-15-wrappers postgresql-15-wrappers_0.6.0-1PIGSTY~jammy_arm64.deb
| PIGSTY 0.6.0 u22.aarch64.pg14 : postgresql-14-wrappers postgresql-14-wrappers_0.6.0-1PIGSTY~jammy_arm64.deb
|
| u24.x86_64 | PIGSTY 0.6.0 u24.x86_64.pg18 : postgresql-18-wrappers postgresql-18-wrappers_0.6.0-1PIGSTY~noble_amd64.deb
| PIGSTY 0.6.0 u24.x86_64.pg17 : postgresql-17-wrappers postgresql-17-wrappers_0.6.0-1PIGSTY~noble_amd64.deb
| PIGSTY 0.6.0 u24.x86_64.pg16 : postgresql-16-wrappers postgresql-16-wrappers_0.6.0-1PIGSTY~noble_amd64.deb
| PIGSTY 0.6.0 u24.x86_64.pg15 : postgresql-15-wrappers postgresql-15-wrappers_0.6.0-1PIGSTY~noble_amd64.deb
| PIGSTY 0.6.0 u24.x86_64.pg14 : postgresql-14-wrappers postgresql-14-wrappers_0.6.0-1PIGSTY~noble_amd64.deb
|
| u24.aarch64 | PIGSTY 0.6.0 u24.aarch64.pg18 : postgresql-18-wrappers postgresql-18-wrappers_0.6.0-1PIGSTY~noble_arm64.deb
| PIGSTY 0.6.0 u24.aarch64.pg17 : postgresql-17-wrappers postgresql-17-wrappers_0.6.0-1PIGSTY~noble_arm64.deb
| PIGSTY 0.6.0 u24.aarch64.pg16 : postgresql-16-wrappers postgresql-16-wrappers_0.6.0-1PIGSTY~noble_arm64.deb
| PIGSTY 0.6.0 u24.aarch64.pg15 : postgresql-15-wrappers postgresql-15-wrappers_0.6.0-1PIGSTY~noble_arm64.deb
| PIGSTY 0.6.0 u24.aarch64.pg14 : postgresql-14-wrappers postgresql-14-wrappers_0.6.0-1PIGSTY~noble_arm64.deb
|
| u26.x86_64 | PIGSTY MISS | PIGSTY MISS | PIGSTY MISS | PIGSTY MISS | PIGSTY MISS |
| u26.aarch64 | PIGSTY MISS | PIGSTY MISS | PIGSTY MISS | PIGSTY MISS | PIGSTY MISS |
构建
您可以使用 pig build 命令构建 wrappers 扩展的 RPM / DEB 包:
pig build pkg wrappers # 构建 RPM / DEB 包
安装
您可以直接安装 wrappers 扩展包的预置二进制包,首先确保 PGDG 和 PIGSTY 仓库已经添加并启用:
pig repo add pgsql -u # 添加仓库并更新缓存
使用 pig 或者是 apt/yum/dnf 安装扩展:
pig install wrappers; # 当前活跃 PG 版本安装
pig ext install -y wrappers -v 18 # PG 18
pig ext install -y wrappers -v 17 # PG 17
pig ext install -y wrappers -v 16 # PG 16
pig ext install -y wrappers -v 15 # PG 15
pig ext install -y wrappers -v 14 # PG 14
dnf install -y wrappers_18 # PG 18
dnf install -y wrappers_17 # PG 17
dnf install -y wrappers_16 # PG 16
dnf install -y wrappers_15 # PG 15
dnf install -y wrappers_14 # PG 14
apt install -y postgresql-18-wrappers # PG 18
apt install -y postgresql-17-wrappers # PG 17
apt install -y postgresql-16-wrappers # PG 16
apt install -y postgresql-15-wrappers # PG 15
apt install -y postgresql-14-wrappers # PG 14
创建扩展:
CREATE EXTENSION wrappers;
用法
来源: official README, official docs, v0.6.0 release
wrappers 既是一个用 Rust 编写 PostgreSQL foreign data wrapper 的框架,也是 Supabase 维护的一组 FDW 打包集合。单个扩展会安装多种 wrapper 实现,然后每个 foreign server 再选择自己需要的具体 wrapper 类型。
CREATE EXTENSION wrappers;
典型流程
先为某个 wrapper 创建 server,再通过 foreign table 暴露远端数据:
CREATE SERVER stripe_server
FOREIGN DATA WRAPPER stripe_wrapper
OPTIONS (
api_key_id 'stripe_api_key',
api_url 'https://api.stripe.com/v1/'
);
CREATE FOREIGN TABLE stripe_customers (
id text,
email text,
name text,
description text,
created timestamp,
attrs jsonb
)
SERVER stripe_server
OPTIONS (
object 'customers',
rowid_column 'id'
);
覆盖范围
上游提供了用于 BigQuery、ClickHouse、DuckDB、MySQL、Redis、S3、Stripe、Snowflake、Slack、Notion、OpenAPI、Infura 等数据库与服务的 wrappers。不同 wrapper 的读写支持差异很大,但 WHERE、ORDER BY 和 LIMIT 下推是框架的核心能力。
版本说明
v0.6.0 保持了相同的扩展模型,但扩展了 wrapper 目录和行为。官方发布说明特别提到:
- 新增 OpenAPI FDW 支持
- 新增 Infura FDW 支持
- Snowflake
timeout_secstable option - 多个 wrapper 的写入路径和扫描修复
注意事项
- 各 wrapper 的选项、支持的对象和写能力差异很大;使用时应查阅官方目录页,确认具体 FDW 的能力。
- 文档警告,如果 materialized view 依赖 foreign table,logical restore 可能失败,因此应避免这种模式,或依赖物理备份。