# `Electric.Postgres.ReplicationClient`
[🔗](https://github.com/electric-sql/electric/tree/%40core/sync-service%401.6.2/packages/sync-service/lib/electric/postgres/replication_client.ex#L1)

A client module for Postgres logical replication.

# `step`

```elixir
@type step() ::
  :disconnected
  | :connected
  | :identify_system
  | :query_pg_info
  | :acquire_lock
  | :create_publication
  | :check_if_publication_exists
  | :drop_slot
  | :create_slot
  | :query_slot_flushed_lsn
  | :set_display_setting
  | :ready_to_stream
  | :start_streaming
  | :streaming
```

# `child_spec`

Returns a specification to start this module under a supervisor.

See `Supervisor`.

# `name`

# `start_link`

```elixir
@spec start_link(Keyword.t()) :: :gen_statem.start_ret()
```

# `start_streaming`

# `stop`

---

*Consult [api-reference.md](api-reference.md) for complete listing*
