- erlang (OTP 28)
- elixir (1.18.4)
- docker (to run examples)
Either start the application with iex console:
iex -S mix run --no-haltOr use example.exs script to quickly startup Subscribers.Postgres with Publishers.File:
iex -S mix run example.exsSubscribers.Postgres requires running Postgres database. Checkout postgres example for a quick setup.
Make sure that Publishers.File points to the existing location of your system (file does not need to exist, but parent
directories must).
Finally, connect to a subscriber and execute INSERT/UPDATE/DELETE statement. The statement will be logged and saved by all publishers (in case of Publishers.File the statement is saved to a file).
Subscriber for Postgres database. The subscriber creates logical replication connection to Postgres database. The replication connection makes database to push replication messages to the subscriber (push-based communication).
- ❌ pre-configuration of the source database
- for now, database must correctly configure replication and publishing settings (see postgres example)
- database statements:
- ✅ INSERT
- ✅ UPDATE
- ✅ DELETE
- ❌ TRUNCATE
- ✅ tables without primary keys
- ✅ tables with primary keys
- ✅ tables with foreign keys
- ❌ full initial load
Publisher storing replication messages to files.
- serialized database messages:
- ✅ INSERT
- ✅ UPDATE
- ✅ DELETE
- ❌ TRUNCATE