wrappers
Supabase提供的外部数据源包装器捆绑包
概览
| 扩展包名 | 版本 | 分类 | 许可证 | 语言 |
|---|---|---|---|---|
wrappers | 0.5.7 | FDW | Apache-2.0 | Rust |
| ID | 扩展名 | Bin | Lib | Load | Create | Trust | Reloc | 模式 |
|---|---|---|---|---|---|---|---|---|
| 8500 | wrappers | 否 | 是 | 否 | 是 | 否 | 是 | - |
| 相关扩展 | multicorn odbc_fdw jdbc_fdw pgspider_ext |
|---|
manual updated pgrx by Vonng
版本
| 类型 | 仓库 | 版本 | PG 大版本 | 包名 | 依赖 |
|---|---|---|---|---|---|
| EXT | PIGSTY | 0.5.7 | 1817161514 | wrappers | - |
| RPM | PIGSTY | 0.5.7 | 1817161514 | wrappers_$v | - |
| DEB | PIGSTY | 0.5.7 | 1817161514 | postgresql-$v-wrappers | - |
构建
您可以使用 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;
用法
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/API | Stripe、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_wrapper、firebase_wrapper、clickhouse_wrapper),但它们都通过单一的 wrappers 扩展安装。请参阅文档了解各包装器的特定选项和支持的对象。