
适用于 Postgres 的实时同步。
Zeabur
Zeabur
Zeabur
同步是现代快速软件背后的“魔法配方”。从 Figma、Linear 这类应用,到基于实时本地数据运行的 AI 智能体。
Electric 是一款 Postgres 同步引擎。它替你解决同步中的棘手问题,包括部分复制、扇出(fan-out)以及数据分发与交付。这样你就能在无需自建同步系统的情况下,打造出色的软件。
更具体地说,Electric 是面向 Postgres 的读路径(read-path)同步引擎。它将数据从 Postgres 同步到……任何你想要的地方。其核心同步协议基于底层的 HTTP API,并可与 CDN 集成,实现高度可扩展的数据交付。
部分复制通过 Shapes 进行管理。你可以直接消费同步数据,也可以通过客户端库和框架集成来使用。
你需要先运行一个 PostgreSQL 实例。在这里部署一个。
你还需要在 postgresql.conf 文件中添加 wal_level = 'logical'。你可以在 PostgreSQL 的 Config Editor 页面 找到相关配置。
当你有了 PostgreSQL 实例后,点击 “Deploy” 按钮即可部署 Electric。这个一键部署模板会自动关联到你项目中的第一个 PostgreSQL 实例。
注意:该 API 通过 API token 进行保护。你可以在 electric 服务的 “Instructions” 部分找到默认 token。你也可以把 PASSWORD 环境变量改为自定义值,以轮换你的 token。
我们也在 Electric 服务上设置了缓存代理。建议使用我们的代理来访问 Electric 服务,也就是你在部署服务时绑定的域名。你可以在 electricproxy 服务的 “Instructions” 部分找到代理域名。
在生产环境中,你可能还需要设置一个 认证代理 来防止未授权访问。你可以使用 Next.js 或 TanStack Start 提供的 BFF(例如 API routes)来进行代理。
部署 Electric 服务后,你可以使用如下 API 请求一个 Shape,其中包含 scores 表中的所有行:
curl https://your-domain.zeabur.app/v1/shape?table=scores&offset=-1&secret=SECRET_FROM_INSTRUCTIONS
DATABASE_URL: PostgreSQL 实例的 URL。如果你运行了多个 PostgreSQL 实例,这会很有用。PASSWORD: Electric 服务的 API token。你也可以在 electric 服务的 “Instructions” 部分找到它。