Skip to content

Commit 812e24a

Browse files
committed
docs: Update Show HN blog post with v7.0.4 features
- Add table filtering example (--include-tables) - Add Docker usage example and Docker Hub link - Add 'Beyond PostgreSQL Sources' section for SQLite/MongoDB/MySQL - Fix bare URL markdown warnings
1 parent f32bfea commit 812e24a

1 file changed

Lines changed: 40 additions & 4 deletions

File tree

docs/20251208_ShowHN_Publisher_Subscriber_PostgreSQL_Replication_with_Xmin.md

Lines changed: 40 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
**TL;DR:** We built an open-source Rust CLI that replicates PostgreSQL databases without requiring `wal_level=logical`. It uses PostgreSQL's `xmin` system column to detect changes, enabling CDC-style replication from any managed PostgreSQL service—no configuration changes needed.
44

5-
**GitHub:** https://github.com/serenorg/database-replicator
5+
**GitHub:** <https://github.com/serenorg/database-replicator>
66

77
---
88

@@ -96,10 +96,23 @@ database-replicator init \
9696
database-replicator sync \
9797
--source "postgresql://source-host/mydb" \
9898
--target "postgresql://target-host/mydb"
99+
100+
# Sync specific tables only
101+
database-replicator sync \
102+
--source "postgresql://source-host/mydb" \
103+
--target "postgresql://target-host/mydb" \
104+
--include-tables "mydb.users,mydb.orders"
99105
```
100106

101107
If your source has `wal_level=logical`, it uses native logical replication. If not, it automatically falls back to xmin-based polling. Zero configuration required.
102108

109+
**Docker:**
110+
111+
```bash
112+
docker pull palomachain/database-replicator:latest
113+
docker run palomachain/database-replicator sync --source "..." --target "..."
114+
```
115+
103116
---
104117

105118
## xmin vs WAL: Trade-offs and Costs
@@ -150,6 +163,27 @@ Start with xmin polling (it works everywhere). If you need lower latency and can
150163

151164
---
152165

166+
## Beyond PostgreSQL Sources
167+
168+
While xmin-based sync is PostgreSQL-specific, the tool also supports migrating data from other databases to PostgreSQL using JSONB storage:
169+
170+
| Source | Method | Continuous Sync |
171+
|--------|--------|-----------------|
172+
| PostgreSQL | xmin or WAL | Yes |
173+
| SQLite | Full copy to JSONB | No (one-time) |
174+
| MongoDB | Full copy to JSONB | Periodic refresh |
175+
| MySQL/MariaDB | Full copy to JSONB | Periodic refresh |
176+
177+
```bash
178+
# SQLite to PostgreSQL
179+
database-replicator init --source ./app.db --target "postgresql://..."
180+
181+
# MongoDB to PostgreSQL
182+
database-replicator init --source "mongodb://..." --target "postgresql://..."
183+
```
184+
185+
---
186+
153187
## Fork It
154188

155189
The entire codebase is Apache 2.0 licensed. Key extension points:
@@ -164,6 +198,8 @@ We'd love contributions for: additional source databases, smarter batching strat
164198
---
165199

166200
**Links:**
167-
- GitHub: https://github.com/serenorg/database-replicator
168-
- Crates.io: https://crates.io/crates/database-replicator
169-
- SerenDB: https://serendb.com
201+
202+
- [GitHub](https://github.com/serenorg/database-replicator)
203+
- [Crates.io](https://crates.io/crates/database-replicator)
204+
- [Docker Hub](https://hub.docker.com/r/palomachain/database-replicator)
205+
- [SerenDB](https://serendb.com)

0 commit comments

Comments
 (0)