electric
▼
Project version
v1.0.5
v1.0.4
v1.0.3
v1.0.2
v1.0.1
v1.0.0
v1.0.0-beta.23
v1.0.0-beta.22
v1.0.0-beta.20
v1.0.0-beta.19
v1.0.0-beta.18
v1.0.0-beta.17
v1.0.0-beta.16
v1.0.0-beta.15
v1.0.0-beta.14
v1.0.0-beta.13
v1.0.0-beta.12
v1.0.0-beta.11
v1.0.0-beta.10
v1.0.0-beta.9
v1.0.0-beta.8
v1.0.0-beta.7
v1.0.0-beta.6
v1.0.0-beta.5
v1.0.0-beta.4
v1.0.0-beta.3
v1.0.0-beta.2
v1.0.0-beta.1
v0.9.5
v0.9.4
v0.9.3
v0.9.2
v0.9.1
v0.9.0
v0.8.1
v0.8.0
v0.7.7
v0.7.6
v0.7.5
v0.7.4
v0.7.3
v0.7.2
v0.7.1
v0.7.0
v0.6.3
v0.6.2
v0.6.1
v0.5.2
v0.4.4
Pages
Modules
API Reference
Modules
Configuration options
Electric
Running as a Standalone HTTP Endpoint
Embedding into another Elixir Application
Debug.Process
Summary
Functions
top_memory_by_type/1
type/1
Electric
Sections
Configuration options
Summary
Types
pg_connection_opts/0
relation/0
relation_id/0
Functions
instance_id/0
stack_events_registry/0
version/0
Electric.Application
Summary
Functions
api/1
children_application/0
children_library/0
Electric.ConcurrentStream
Summary
Functions
stream_to_end/1
Electric.Config
Summary
Functions
default/1
ensure_installation_id/2
fetch_env!/1
get_env/1
get_env_lazy/2
installation_id!/1
parse_human_readable_time/1
parse_human_readable_time!/1
parse_log_level/1
parse_log_level!/1
parse_postgresql_uri/1
parse_postgresql_uri!/1
parse_telemetry_url/1
parse_telemetry_url!/1
persistent_kv/0
validate_security_config!/2
Electric.Connection.Manager
Summary
Types
option/0
options/0
status/0
Functions
await_active/1
child_spec/1
drop_replication_slot_on_stop/1
exclusive_connection_lock_acquired/1
get_pg_version/1
get_status/1
name/1
pg_info_looked_up/2
report_retained_wal_size/1
start_link/1
Electric.Connection.Manager.ConnectionBackoff
Summary
Types
connection_backoff/0
Functions
fail/1
init/2
succeed/1
total_retry_time/1
Electric.Connection.Manager.State
Electric.Connection.Supervisor
Summary
Functions
child_spec/1
init/1
name/1
shutdown/2
start_link/1
start_shapes_supervisor/1
Electric.LogItems
Summary
Types
log_item/0
Functions
from_change/4
keep_generic_headers/1
merge_updates/2
Electric.LsnTracker
Summary
Functions
get_last_processed_lsn/1
init/2
reset/1
set_last_processed_lsn/2
Electric.PersistentKV
Summary
Types
t/0
Functions
get/2
set/3
Electric.PersistentKV.Filesystem
Summary
Functions
new!/1
Electric.PersistentKV.Memory
Summary
Types
seed_data/0
t/0
Functions
child_spec/1
contents/1
new!/1
start_link/1
Electric.PersistentKV.Mock
Summary
Types
t/0
Functions
new/0
Electric.PersistentKV.Serialized
Summary
Functions
new!/1
Electric.Plug.DeleteShapePlug
Summary
Functions
call/2
init/1
Electric.Plug.HealthCheckPlug
Summary
Functions
call/2
init/1
Electric.Plug.LabelProcessPlug
Summary
Functions
call/2
init/1
process_label/1
Electric.Plug.OptionsShapePlug
Summary
Functions
call/2
init/1
Electric.Plug.Router
Summary
Functions
add_stack_id_to_metadata/2
authenticate/2
call/2
init/1
put_cors_headers/2
server_header/2
Electric.Plug.ServeShapePlug
Summary
Functions
call/2
init/1
Electric.Plug.TraceContextPlug
Summary
Functions
call/2
init/1
Electric.Plug.UtilityRouter
Summary
Functions
call/2
init/1
Electric.Plug.Utils
Summary
Functions
common_open_telemetry_attrs/1
get_next_interval_timestamp/2
hold_conn_until_stack_ready/2
parse_columns_param/1
Electric.Plug.Utils.CORSHeaderPlug
Summary
Functions
call/2
init/1
Electric.Plug.Utils.PassAssignToOptsPlug
Summary
Functions
call/2
init/1
Electric.Postgres
Summary
Functions
display_settings/0
supported_types/0
supported_types_only_in_functions/0
Electric.Postgres.Configuration
Summary
Types
filters/0
Functions
configure_tables_for_replication!/4
get_pg_version/1
get_publication_tables/2
Electric.Postgres.Identifiers
Summary
Functions
downcase/3
parse/3
parse_relation/1
parse_unquoted_identifier/3
Electric.Postgres.Identifiers.StringSplitter
Summary
Functions
split_outside_quotes/1
Electric.Postgres.Inspector
Summary
Types
column_info/0
inspector/0
relation/0
relation_id/0
relation_info/0
relation_kind/0
type_kind/0
Callbacks
clean/2
load_column_info/2
load_relation/2
Functions
clean/2
columns_to_expr/1
get_pk_cols/1
load_column_info/2
load_relation/2
Electric.Postgres.Inspector.DirectInspector
Summary
Functions
clean/2
load_column_info/2
load_relation/2
Electric.Postgres.Inspector.EtsInspector
Summary
Functions
child_spec/1
get_column_info_table/1
get_relation_table/1
name/1
start_link/1
Electric.Postgres.LockConnection
Summary
Types
option/0
options/0
Functions
start_link/1
Electric.Postgres.LockConnection.State
Electric.Postgres.LogicalReplication.Messages
Summary
Types
message/0
relation_id/0
Electric.Postgres.LogicalReplication.Messages.Begin
Summary
Types
t/0
Electric.Postgres.LogicalReplication.Messages.Commit
Summary
Types
t/0
Electric.Postgres.LogicalReplication.Messages.Delete
Summary
Types
t/0
Electric.Postgres.LogicalReplication.Messages.Insert
Summary
Types
t/0
Electric.Postgres.LogicalReplication.Messages.Message
Summary
Types
t/0
Electric.Postgres.LogicalReplication.Messages.Origin
Summary
Types
t/0
Electric.Postgres.LogicalReplication.Messages.Relation
Summary
Types
t/0
Electric.Postgres.LogicalReplication.Messages.Relation.Column
Summary
Types
t/0
Electric.Postgres.LogicalReplication.Messages.Truncate
Summary
Types
t/0
Electric.Postgres.LogicalReplication.Messages.Type
Summary
Types
t/0
Electric.Postgres.LogicalReplication.Messages.Unsupported
Summary
Types
t/0
Electric.Postgres.LogicalReplication.Messages.Update
Summary
Types
t/0
Electric.Postgres.Lsn
Summary
Types
int32/0
t/0
Functions
compare/2
decode_bin/1
encode_bin/1
from_integer/1
from_string/1
increment/2
is_larger/2
max/1
to_integer/1
to_iolist/1
Electric.Postgres.ReplicationClient
Summary
Types
step/0
Functions
child_spec/1
name/1
start_link/1
start_streaming/1
stop/2
Electric.Postgres.ReplicationClient.Collector
Summary
Types
t/0
Functions
handle_message/2
is_collecting/1
Electric.Postgres.ReplicationClient.ConnectionSetup
Summary
Types
callback_return/0
query_result/0
state/0
step/0
Functions
process_query_result/2
start/1
start_streaming/1
Electric.Postgres.ReplicationClient.State
Summary
Types
t/0
Functions
new/1
Electric.Postgres.Xid
Summary
Types
anyxid/0
cmp_result/0
Functions
compare/2
Electric.ProcessRegistry
Summary
Functions
alive?/3
child_spec/1
name/3
registry_name/1
start_link/1
Electric.Replication.Changes
Summary
Types
change/0
data_change/0
db_identifier/0
pk/0
record/0
relation_id/0
relation_name/0
tag/0
xid/0
Functions
build_key/3
convert_update/2
fill_key/2
filter_columns/2
Electric.Replication.Changes.Column
Summary
Types
t/0
Electric.Replication.Changes.DeletedRecord
Summary
Types
t/0
Electric.Replication.Changes.NewRecord
Summary
Types
t/0
Electric.Replication.Changes.Relation
Summary
Types
t/0
Electric.Replication.Changes.Transaction
Summary
Types
t/0
Functions
prepend_change/2
Electric.Replication.Changes.TruncatedRelation
Summary
Types
t/0
Electric.Replication.Changes.UpdatedRecord
Summary
Types
t/0
Functions
new/1
Electric.Replication.Eval.Env
Summary
Types
basic_type/0
basic_type_registry/0
cast_function/0
cast_key/0
cast_registry/0
env_property/0
flat_pg_type/0
func/0
func_id/0
funcs/0
implicit_cast_function/0
implicit_cast_registry/0
pg_type/0
t/0
type_info/0
Functions
can_implicitly_coerce_types?/3
empty/1
find_cast_function/3
get_type_category/2
get_unified_coercion_targets/4
implicitly_castable?/3
is_preferred?/2
new/1
parse_const/3
Electric.Replication.Eval.Env.BasicTypes
Sections
Known types
Summary
Functions
known/0
noop/1
Electric.Replication.Eval.Env.ExplicitCasts
Sections
List of explicit casts
Summary
Functions
bool_to_int4/1
int4_to_bool/1
known/0
Electric.Replication.Eval.Env.ImplicitCasts
Sections
List of implicit casts
Summary
Functions
date_to_timestamp/1
known/0
Electric.Replication.Eval.Env.KnownFunctions
Summary
Functions
arrays_overlap?/2
bool_out/1
date_subtract/2
known_functions/0
known_operators/0
left_array_contains_right?/2
naive_from_timestamptz/2
not_ilike?/2
not_like?/2
right_array_contains_left?/2
text_concat/2
timestamptz_from_naive/2
Electric.Replication.Eval.Expr
Summary
Types
t/0
used_refs/0
Functions
unqualified_refs/1
Electric.Replication.Eval.KnownDefinition
Summary
Functions
before_compile/1
defcompare/2
defpostgres/3
expand_categories/1
Electric.Replication.Eval.Lookups
Summary
Functions
pick_concrete_function_overload/3
pick_concrete_operator_overload/3
pick_union_type/2
Electric.Replication.Eval.Parser
Summary
Types
parse_opt/0
refs_map/0
tree_part/0
Functions
find_refs/2
parse_and_validate_expression/2
parse_and_validate_expression!/2
unwrap_node_string/1
Electric.Replication.Eval.Parser.Array
Electric.Replication.Eval.Parser.Const
Electric.Replication.Eval.Parser.Func
Electric.Replication.Eval.Parser.Ref
Electric.Replication.Eval.Parser.UnknownConst
Electric.Replication.Eval.Runner
Summary
Functions
execute/2
record_to_ref_values/3
Electric.Replication.Eval.Walker
Summary
Types
children_map/0
Functions
accumulating_fold/5
fold/3
reduce/4
Electric.Replication.LogOffset
Summary
Types
int64/0
t/0
Functions
before_all/0
compare/2
extract_lsn/1
first/0
from_string/1
increment/2
is_log_offset_lt/2
is_min_offset/1
is_virtual_offset/1
last/0
last_before_real_offsets/0
new/1
new/2
to_iolist/1
to_tuple/1
Electric.Replication.PersistentReplicationState
Summary
Types
opts/0
tracked_relations/0
Functions
get_tracked_relations/1
reset/1
set_tracked_relations/2
Electric.Replication.PostgresInterop.Casting
Summary
Functions
ilike?/2
is_pg_int2/1
is_pg_int4/1
is_pg_int8/1
like?/3
parse_bool/1
parse_date/1
parse_float8/1
parse_int2/1
parse_int4/1
parse_int8/1
parse_time/1
parse_timestamp/1
parse_timestamptz/1
parse_uuid/1
values_distinct?/3
values_not_distinct?/3
Electric.Replication.PublicationManager
Summary
Callbacks
add_shape/2
name/1
recover_shape/2
refresh_publication/1
remove_shape/2
Functions
add_shape/2
child_spec/1
name/1
recover_shape/2
refresh_publication/1
remove_shape/2
start_link/1
Electric.Replication.PublicationManager.RelationFilter
Summary
Types
t/0
Functions
relation_only/1
Electric.Replication.ShapeLogCollector
Summary
Functions
handle_call/3
handle_cancel/3
handle_demand/2
handle_relation_msg/2
handle_subscribe/4
init/1
name/1
start_link/1
start_processing/2
store_transaction/2
Electric.Replication.Supervisor
Summary
Functions
child_spec/1
name/1
start_link/1
Electric.Schema
Summary
Types
column_name/0
schema/0
type_name/0
Functions
from_column_info/2
Electric.ServiceStatus
Summary
Types
status/0
Functions
check/1
Electric.ShapeCache
Summary
Types
shape_handle/0
Functions
child_spec/1
get_shape_meta_table/1
name/1
start_link/1
Electric.ShapeCache.CompactionRunner
Summary
Functions
child_spec/1
name/1
start_link/1
Electric.ShapeCache.CrashingFileStorage
Summary
Functions
append_to_log!/2
cleanup!/1
for_shape/2
get_all_stored_shapes/1
get_chunk_end_log_offset/2
get_current_position/1
get_log_stream/3
get_total_disk_usage/1
initialise/1
make_new_snapshot!/2
mark_snapshot_as_started/1
set_pg_snapshot/2
set_shape_definition/2
shared_opts/1
snapshot_started?/1
start_link/1
unsafe_cleanup!/1
Electric.ShapeCache.FileStorage
Summary
Functions
child_spec/1
compact/1
compact/2
snapshot_chunk_path/2
Electric.ShapeCache.FileStorage.Compaction
Summary
Functions
compact_in_place/3
merge_and_compact/4
rm_log/1
Electric.ShapeCache.InMemoryStorage
Summary
Functions
child_spec/1
name/2
Electric.ShapeCache.LogChunker
Summary
Functions
default_chunk_size_threshold/0
fit_into_chunk/3
Electric.ShapeCache.ShapeStatus
Summary
Types
option/0
options/0
shape_handle/0
t/0
table/0
xmin/0
Functions
add_shape/2
get_existing_shape/2
initialise/1
initialise_shape/4
latest_offset/2
latest_offset!/2
list_shapes/1
mark_snapshot_started/2
remove_shape/2
set_latest_offset/3
set_snapshot_xmin/3
snapshot_started?/2
snapshot_xmin/2
Electric.ShapeCache.ShapeStatusBehaviour
Summary
Types
shape_handle/0
xmin/0
Callbacks
add_shape/2
get_existing_shape/2
initialise/1
initialise_shape/4
list_shapes/1
mark_snapshot_started/2
remove_shape/2
set_latest_offset/3
set_snapshot_xmin/3
snapshot_started?/2
Electric.ShapeCache.Storage
Summary
Types
compiled_opts/0
log/0
log_item/0
offset/0
operation_type/0
pg_snapshot/0
row/0
shape_handle/0
shape_opts/0
shape_storage/0
storage/0
xmin/0
Callbacks
append_to_log!/2
cleanup!/1
for_shape/2
get_all_stored_shapes/1
get_chunk_end_log_offset/2
get_current_position/1
get_log_stream/3
get_total_disk_usage/1
initialise/1
make_new_snapshot!/2
mark_snapshot_as_started/1
set_pg_snapshot/2
set_shape_definition/2
shared_opts/1
snapshot_started?/1
start_link/1
unsafe_cleanup!/1
Functions
child_spec/1
compact/1
compact/2
Electric.ShapeCacheBehaviour
Summary
Types
shape_def/0
shape_handle/0
Callbacks
await_snapshot_start/2
clean_all_shapes/1
clean_shape/2
get_or_create_shape_handle/2
get_shape/2
has_shape?/2
list_shapes/1
Electric.Shapes
Summary
Types
shape_handle/0
Functions
clean_shape/2
clean_shapes/2
get_chunk_end_log_offset/3
get_merged_log_stream/3
get_or_create_shape_handle/2
get_shape/2
has_shape?/2
Electric.Shapes.Api
Summary
Types
options/0
shape_opts/0
t/0
Functions
configure/1
configure!/1
delete_shape/1
delete_shape/2
encode_message/2
if_not_modified/2
options/1
plug_opts/1
predefined_shape/2
schema/1
serve_shape_log/1
serve_shape_log/2
stack_id/1
validate/2
validate_for_delete/2
Electric.Shapes.Api.Encoder
Summary
Callbacks
log/1
message/1
Functions
validate!/1
Electric.Shapes.Api.Encoder.JSON
Electric.Shapes.Api.Encoder.Term
Electric.Shapes.Api.Options
Summary
Functions
call/1
Electric.Shapes.Api.Params
Summary
Types
t/0
Functions
cast_offset/1
cast_root_table/2
validate/2
validate_for_delete/2
validate_handle_with_offset/1
validate_live_with_offset/1
Electric.Shapes.Api.Params.ColumnList
Summary
Functions
cast/1
dump/1
embed_as/1
equal?/2
load/1
type/0
Electric.Shapes.Api.Request
Summary
Types
shape_handle/0
t/0
Functions
update_response/2
Electric.Shapes.Api.Response
Summary
Types
shape_handle/0
t/0
Functions
error/3
etag/2
invalid_request/2
send/2
shape_definition_mismatch/1
Electric.Shapes.Consumer
Summary
Types
log_state/0
Functions
handle_call/3
handle_cast/2
handle_events/3
init/1
initial_state/1
name/1
name/2
start_link/1
terminate/2
whereis/2
Electric.Shapes.Consumer.Snapshotter
Summary
Functions
child_spec/1
handle_continue/2
init/1
name/1
name/2
start_link/1
Electric.Shapes.ConsumerSupervisor
Summary
Functions
child_spec/1
clean_and_stop/1
init/1
name/1
name/2
start_link/1
Electric.Shapes.Dispatcher
Electric.Shapes.Dispatcher.State
Electric.Shapes.DynamicConsumerSupervisor
Summary
Functions
child_spec/1
name/1
start_link/1
start_shape_consumer/2
stop_shape_consumer/3
Electric.Shapes.Filter
Summary
Types
shape_id/0
t/0
Functions
add_shape/3
affected_shapes/2
new/1
remove_shape/2
Electric.Shapes.Filter.Index
Summary
Functions
add_shape/4
affected_shapes/3
all_shapes/1
empty?/1
new/2
remove_shape/2
Electric.Shapes.Filter.Index.Protocol
Summary
Types
t/0
Functions
add_shape/4
affected_shapes/3
all_shapes/1
empty?/1
remove_shape/2
Electric.Shapes.Filter.Indexes.EqualityIndex
Summary
Functions
new/1
Electric.Shapes.Filter.Indexes.InclusionIndex
Summary
Functions
new/1
Electric.Shapes.Filter.WhereCondition
Summary
Functions
add_shape/3
affected_shapes/2
all_shapes/1
empty?/1
new/0
remove_shape/2
Electric.Shapes.Partitions
Summary
Types
options/0
partition_table/0
root_table/0
shape_id/0
t/0
Functions
add_shape/3
handle_event/2
handle_relation/2
new/1
remove_shape/2
Electric.Shapes.Querying
Summary
Types
json_iodata/0
json_result_stream/0
Functions
stream_initial_data/4
Electric.Shapes.Shape
Summary
Types
flag/0
json_relation/0
json_safe/0
json_table_info/0
json_table_list/0
replica/0
storage_config/0
t/0
table_info/0
Functions
affected_tables/1
convert_change/2
default_replica_mode/0
from_json_safe/1
generate_id/1
hash/1
is_affected_by_relation_change?/2
new/1
new/2
new!/2
pk/2
schema_options/0
verify_replica/1
Electric.Shapes.WhereClause
Summary
Functions
includes_record?/2
Electric.StackSupervisor
Summary
Functions
build_shared_opts/1
child_spec/1
dispatch_stack_event/3
opts_schema/0
registry_name/1
start_link/1
subscribe_to_stack_events/3
Electric.Telemetry
Summary
Functions
with_telemetry/2
Electric.Telemetry.OpenTelemetry
Summary
Functions
add_span_attributes/2
get_current_context/0
get_from_baggage/1
get_stack_span_attrs/1
record_exception/2
record_exception/4
set_current_context/1
set_in_baggage/2
set_stack_span_attrs/2
timed_fun/3
with_span/4
Electric.Telemetry.OpenTelemetry.ResourceDetector
Summary
Functions
get_resource/1
Electric.Telemetry.OptionalSpans
Summary
Functions
include?/1
Electric.Telemetry.Opts
Summary
Functions
schema/0
Electric.Telemetry.Sentry
Summary
Functions
add_logger_handler/0
set_tags_context/1
Electric.Timeline
Summary
Types
check_result/0
pg_id/0
timeline/0
timeline_id/0
Functions
check/2
load_timeline/1
store_timeline/2
Electric.Utils
Summary
Types
item_reader_fn/1
sortable_binary/1
Functions
all_max_by/5
apply_fn_or_mfa/2
concat_files/2
deep_map/2
deobfuscate_password/1
encode_uuid/1
escape_quotes/1
external_merge_sort/4
flat_map_reduce_mark_last/3
inspect_relation/1
list_reverse_map/3
map_values/2
map_while_ok/2
merge_sorted_files/4
merge_sorted_streams/3
obfuscate_password/1
open_with_retry/3
parse_md_table/2
parse_quoted_name/1
quote_name/1
relation_to_sql/2
stream_add_side_effect/5
stream_file_items/2
uuid4/0
Electric.Walkable
Summary
Types
t/0
Functions
children/1
PgInterop.Array
Summary
Functions
array_append/2
array_prepend/2
concat_arrays/2
get_array_dim/2
index_access/2
parse/2
serialize/2
slice_access/2
PgInterop.Interval
Summary
Types
t/0
Functions
add/2
add_to_date/2
add_to_time/2
datetime_diff/2
format/1
from_days/1
from_hours/1
from_microseconds/1
from_milliseconds/1
from_minutes/1
from_months/1
from_seconds/1
from_time/1
from_weeks/1
justify_days/1
justify_hours/1
justify_interval/1
parse/1
parse!/1
scale/2
subtract/2
subtract_from_date/2
zero/0
PgInterop.Interval.ISO8601AlternativeParser
Summary
Functions
parse/1
split_on_time/1
validate_hms/1
validate_ymd/1
PgInterop.Interval.ISO8601Parser
Summary
Functions
parse/1
PgInterop.Interval.Iso8601Formatter
Summary
Functions
format/1
PgInterop.Interval.PostgresAndSQLParser
Summary
Functions
parse/1
PgInterop.Postgrex.Extensions.PgLsn
Summary
Functions
decode/1
encode/1
format/1
init/1
matching/1
PgInterop.Postgrex.Extensions.PgSnapshot
Summary
Functions
decode/1
encode/1
format/1
init/1
matching/1
Search documentation of electric
Settings
View Source
Electric.PersistentKV
protocol
(electric v1.0.1)
Summary
Types
t()
All the types that implement this protocol.
Functions
get(kv, key)
set(kv, key, value)
Types
Link to this type
t()
View Source
@type
t() ::
term
()
All the types that implement this protocol.
Functions
Link to this function
get(kv, key)
View Source
Link to this function
set(kv, key, value)
View Source
×