CLI entry point for continuous live replication.
Run with:
clj -X:replicate \
:source-client-config '{:server-type :cloud :region "us-east-1" :system "prod" :endpoint "https://..."}' \
:source-db-name '"my-database"' \
:target-client-config '{:server-type :cloud :region "us-west-2" :system "dr" :endpoint "https://..."}' \
:target-db-name '"my-database-replica"'
CLI entry point for continuous live replication.
Run with:
```
clj -X:replicate \
:source-client-config '{:server-type :cloud :region "us-east-1" :system "prod" :endpoint "https://..."}' \
:source-db-name '"my-database"' \
:target-client-config '{:server-type :cloud :region "us-west-2" :system "dr" :endpoint "https://..."}' \
:target-db-name '"my-database-replica"'
```(continuous-replicate {:keys [source-client-config source-db-name
target-client-config target-db-name segment-size
poll-interval-ms prefetch-buffer
max-retry-delay-ms log-level blacklist verify?]
:or {segment-size 1000
poll-interval-ms 5000
prefetch-buffer 5
max-retry-delay-ms 300000
log-level :info
blacklist #{}
verify? true}})Entry point for clj -X. Runs continuous live replication from source to target database.
Required parameters:
Optional parameters:
Example:
clj -X:replicate \
:source-client-config '{:server-type :cloud :region "us-east-1" :system "prod" :endpoint "https://..."}' \
:source-db-name '"production-db"' \
:target-client-config '{:server-type :cloud :region "us-west-2" :system "backup" :endpoint "https://..."}' \
:target-db-name '"production-db-replica"' \
:segment-size 1000 \
:poll-interval-ms 5000
The replication will:
Logs are JSON formatted for CloudWatch ingestion.
Entry point for clj -X. Runs continuous live replication from source to target database.
Required parameters:
- :source-client-config - Map for d/client (source Datomic system)
- :source-db-name - Database name on source (string)
- :target-client-config - Map for d/client (target Datomic system)
- :target-db-name - Database name on target (string)
Optional parameters:
- :segment-size - Transactions per segment (default 1000)
- :poll-interval-ms - Polling interval when idle (default 5000)
- :prefetch-buffer - Pre-fetch buffer size (default 5)
- :max-retry-delay-ms - Maximum backoff delay on errors (default 300000)
- :log-level - Timbre log level keyword (default :info)
- :blacklist - Set of attribute keywords to exclude from restore
- :verify? - Enable ID verification (default true)
Example:
```
clj -X:replicate \
:source-client-config '{:server-type :cloud :region "us-east-1" :system "prod" :endpoint "https://..."}' \
:source-db-name '"production-db"' \
:target-client-config '{:server-type :cloud :region "us-west-2" :system "backup" :endpoint "https://..."}' \
:target-db-name '"production-db-replica"' \
:segment-size 1000 \
:poll-interval-ms 5000
```
The replication will:
1. Connect to source and target databases
2. Create target database if it doesn't exist
3. Start continuous restore from source to target
4. Run until interrupted (SIGTERM/SIGINT)
Logs are JSON formatted for CloudWatch ingestion.cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |