supabase/etl hiện có 2.3k sao trên GitHub, viết chủ yếu bằng Rust. Stream your Postgres data anywhere in real-time. Simple Rust building blocks for change data capture (CDC) pipelines.
Tóm tắt dựng từ metadata GitHub của chính dự án — chưa có bài review TopGit. Trang sẽ tự động cập nhật khi bài review đầy đủ được xuất bản.
VÌ SAO CHƯA CÓ REVIEW
TopGit viết bài đầy đủ cho repo có nhiều sao nhất và được yêu cầu nhiều nhất. Trang này là snapshot trong thời gian chờ — xem README gốc ở tab READ ME.
ETL is a Rust framework by Supabase for building
high-performance, near-real-time data replication apps on Postgres.
This repository contains the open-source Rust framework, destination modules,
replicator binary, and developer documentation. If you want the managed product
in the Supabase Dashboard, see the canonical
Supabase Pipelines documentation
for product setup, availability, pricing, and operational guidance.
It sits on top of Postgres
logical replication
and gives you Rust-native building blocks for copying existing data, streaming
ongoing changes, and writing them to your own destination. Run it as a
standalone replicator binary or embed it as a library in your own Rust service.
ETL is intentionally cheap to operate: it is one lightweight Rust process on
top of Postgres logical replication. You do not need Kafka, Flink, Debezium, or
another coordination service to run a pipeline.
ETL runs as one process that coordinates an initial sync, continuous
replication stream, and a state/schema store for recovery:
Initial sync copies the existing rows covered by a Postgres publication.
Ongoing replication batches and forwards subsequent inserts, updates, deletes, truncates, and schema events.
State recovery lets a durable store resume table state, schema versions, and destination metadata after restarts.
Why ETL?
Capability
What it gives you
Near-real-time replication
Continuously replicate Postgres changes with configurable batching.
Initial sync
Copy existing table data before ongoing replication begins.
Schema changes
Track simple DDL changes today; destination-specific DDL behavior is documented in Schema Changes.
Cheap operations
Run one lightweight Rust process without Kafka, Flink, Debezium, or extra control-plane infrastructure.
Library or binary
Use ETL as a standalone replicator or embed it in your own Rust application.
Configurable throughput
Tune batching, parallel table sync, retries, and memory backpressure.
Extensible runtime
Implement custom destinations and state/schema stores.
Typed Rust API
Work with structured events, rows, schemas, and errors.
Requirements
ETL officially supports and tests against PostgreSQL 14, 15, 16, 17, and
18.
PostgreSQL 15+ is recommended for advanced publication features:
Column-level filtering
Row-level filtering with WHERE clauses
FOR TABLES IN SCHEMA syntax
PostgreSQL 16+ is required when the ETL replication connection points at
a physical read replica. Earlier versions support logical decoding only on
the primary.
PostgreSQL 14 is supported with table-level publication filtering.
For detailed configuration instructions, see the Configure Postgres documentation.
Get Started
ETL is currently installed from Git while we prepare for a crates.io release.
Choose the destination features you need.
For DuckLake, external maintenance coordination is selected at runtime with
maintenance_mode: disabled, kubernetes, or postgres. The default is
disabled; postgres uses the same Postgres catalog connection as DuckLake
and stores coordination state in the etl schema.
For a first production deployment, start with the stable BigQuery module:
[dependencies]
etl = { git = "https://github.com/supabase/etl" }
etl-destinations = { git = "https://github.com/supabase/etl", features = ["bigquery"] }
tokio = { version = "1", features = ["full"] }
Then create a pipeline that reads from a Postgres publication and writes to
BigQuery.
See DEVELOPMENT.md for setup instructions, migration workflows, and development guidelines.
Contributing
We welcome pull requests and GitHub issues. We currently cannot accept new custom destinations unless there is significant community demand, as each destination carries a long-term maintenance cost. We are prioritizing core stability, observability, and ergonomics. If you need a destination that is not yet supported, please start a discussion or issue so we can gauge demand before proposing an implementation.
supabase/etl thuộc nhóm Data trên TopGit, cùng 6 topic GitHub. Trang Trending và Topics liệt kê các repo cùng số sao và cùng ngôn ngữ để so sánh.
Đọc thêm về supabase/etl ở đâu?
Trang TopGit này là một snapshot — tab "Readme" hiển thị nguyên văn README của repo (đã bỏ link, giữ ảnh). Repo GitHub ở github.com/supabase/etl là nguồn chính thức.
supabase/etl có phải mã nguồn mở không?
Có — supabase/etl phát hành theo license Apache-2.0, nghĩa là mã nguồn mở để đọc, fork và (tùy license) tái sử dụng. Mã: github.com/supabase/etl.
supabase/etl là gì?
supabase/etl (supabase/etl) là dự án Rust trên GitHub. Theo mô tả gốc: Stream your Postgres data anywhere in real-time. Simple Rust building blocks for change data capture (CDC) pipelines.
supabase/etl so với các dự án Data khác thế nào?
supabase/etl được TopGit xếp vào nhóm Data, với 2.3k sao GitHub và viết bằng Rust. Xem trang chủ đề Data trên TopGit để so sánh với các dự án tương tự theo số sao và mức độ hoạt động.
Vì sao supabase/etl được xếp vào nhóm Data?
TopGit xếp supabase/etl vào nhóm Data dựa trên GitHub topics và mô tả của repo (gắn thẻ: "logical-replication", "postgres", "postgresql"). Việc phân loại dựa trên metadata thật của repo, không phải đoán theo cảm tính biên tập.
Đọc đầy đủ README ở tab phía trên.
Muốn nghe thêm một ý kiến về etl?
Hỏi một AI đọc được trang này — một cú bấm là có ngay nhận định về etl.