ETL Documentation
Build real-time Postgres replication applications in Rust
ETL is a Rust framework by Supabase that enables you to build high-performance, real-time data replication applications for Postgres. Whether you're creating ETL pipelines, implementing CDC (Change Data Capture), or building custom data synchronization solutions, ETL provides the building blocks you need.
Getting Started
Choose your path based on your needs:
New to ETL?
Start with our Tutorials to learn ETL through hands-on examples:
- Build your first ETL pipeline - Complete beginner's guide (15 minutes)
- Build custom stores and destinations - Advanced patterns (30 minutes)
Ready to solve specific problems?
Jump to our How-To Guides for practical solutions:
- Configure Postgres for replication
- More guides coming soon
Want to understand the bigger picture?
Read our Explanations for deeper insights:
- ETL architecture overview
- More explanations coming soon
Core Concepts
Postgres Logical Replication streams data changes from Postgres databases in real-time using the Write-Ahead Log (WAL). ETL builds on this foundation to provide:
- 🚀 Real-time replication - Stream changes as they happen
- 🔄 Multiple destinations - BigQuery and more coming soon
- 🛡️ Fault tolerance - Built-in error handling and recovery
- ⚡ High performance - Efficient batching and parallel processing
- 🔧 Extensible - Plugin architecture for custom destinations
Quick Example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
|
Next Steps
- First time using ETL? → Start with Build your first pipeline
- Need Postgres setup help? → Check Configure Postgres for Replication
- Need technical details? → Check the Reference
- Want to understand the architecture? → Read ETL Architecture