wrappers

Supabase提供的外部数据源包装器捆绑包

概览

扩展包名版本分类许可证语言
wrappers0.5.7FDWApache-2.0Rust
ID扩展名BinLibLoadCreateTrustReloc模式
8500wrappers-
相关扩展multicorn odbc_fdw jdbc_fdw pgspider_ext

manual updated pgrx by Vonng

版本

类型仓库版本PG 大版本包名依赖
EXTPIGSTY0.5.71817161514wrappers-
RPMPIGSTY0.5.71817161514wrappers_$v-
DEBPIGSTY0.5.71817161514postgresql-$v-wrappers-
OS / PGPG18PG17PG16PG15PG14
el8.x86_64
el8.aarch64
el9.x86_64
el9.aarch64
el10.x86_64
el10.aarch64
d12.x86_64
d12.aarch64
d13.x86_64
d13.aarch64
PIGSTY 0.5.7
PIGSTY 0.5.7
PIGSTY 0.5.7
PIGSTY 0.5.7
PIGSTY 0.5.7
u22.x86_64
u22.aarch64
PIGSTY 0.5.7
PIGSTY 0.5.7
PIGSTY 0.5.7
PIGSTY 0.5.7
PIGSTY 0.5.7
u24.x86_64
u24.aarch64
PIGSTY 0.5.7
PIGSTY 0.5.7
PIGSTY 0.5.7
PIGSTY 0.5.7
PIGSTY 0.5.7

构建

您可以使用 pig build 命令构建 wrappers 扩展的 RPM / DEB 包:

pig build pkg wrappers         # 构建 RPM / DEB 包

安装

您可以直接安装 wrappers 扩展包的预置二进制包,首先确保 PGDGPIGSTY 仓库已经添加并启用:

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;

用法

wrappers: Supabase 开发的外部数据包装器

Supabase Wrappers 是一个构建 PostgreSQL 外部数据包装器(FDW)的框架,提供 30 多个预构建的连接器,用于云服务、数据库和 API。支持 WHERE、ORDER BY 和 LIMIT 下推,部分包装器还支持数据修改(INSERT/UPDATE/DELETE)。

可用包装器

类别包装器
数据库ClickHouse、BigQuery、Snowflake、DuckDB、SQL Server、Redis、PostgreSQL
存储AWS S3、Cloudflare D1、Apache Iceberg
SaaS/APIStripe、Firebase、Airtable、Auth0、Notion、Slack、HubSpot、Shopify
认证AWS Cognito、Clerk、Auth0
其他OpenAPI、Logflare、Calendly、Cal.com、Paddle、Orb、Infura、Gravatar

示例(Stripe)

CREATE EXTENSION wrappers;

CREATE SERVER stripe_server
  FOREIGN DATA WRAPPER stripe_wrapper
  OPTIONS (
    api_key_id '<key_ID>',
    api_url 'https://api.stripe.com/v1/',
    api_version '2024-06-20'
  );

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'
  );

SELECT id, email, name FROM stripe_customers WHERE email LIKE '%@example.com';

rowid_column 选项是 INSERT/UPDATE/DELETE 支持所必需的。attrs 列提供以 JSON 形式访问额外元数据的能力。

每个包装器使用自己的 FOREIGN DATA WRAPPER 名称(例如 stripe_wrapperfirebase_wrapperclickhouse_wrapper),但它们都通过单一的 wrappers 扩展安装。请参阅文档了解各包装器的特定选项和支持的对象。


最后修改 2026-03-14: update extension metadata (953cbd0)