Electric.Replication.PublicationManager.Configurator (electric v1.2.4)
View SourceConfigures and maintains a PostgreSQL publication on behalf of Electric.Replication.PublicationManager.RelationTracker.
It receives requests to update the publication such that a given set of relations are published with REPLICA IDENTITY FULL, and performs the necessary SQL commands to ensure that the publication matches the requested set of relations.
Each relation is updated individually to avoid blocking all other operations on the publication due to locks held on individual tables.
Summary
Functions
Returns a specification to start this module under a supervisor.
Types
@type state() :: %Electric.Replication.PublicationManager.Configurator{ can_alter_publication?: boolean(), db_pool: term(), manual_table_publishing?: boolean(), publication_name: String.t(), scheduled_filters: Electric.Replication.PublicationManager.RelationTracker.relation_filters() | nil, scheduled_update_ref: nil | reference(), stack_id: Electric.stack_id(), update_debounce_timeout: timeout() }