Packages
electric
0.9.0
1.7.7
1.7.6
1.7.5
1.7.4
1.7.3
1.7.2
1.7.1
1.7.0
1.6.10
1.6.9
1.6.8
1.6.7
1.6.6
1.6.5
1.6.4
1.6.3
1.6.2
1.6.1
1.6.0
1.5.1
1.5.0
1.4.16
1.4.16-beta-1
1.4.15
1.4.14
1.4.13
1.4.12
1.4.11
1.4.10
1.4.8
1.4.7
1.4.6
1.4.5
1.4.4
1.4.3
1.4.2
1.4.1
1.4.0
1.3.4
1.3.3
1.3.2
1.2.4
1.2.3
1.2.2
1.2.1
1.2.0
1.1.14
1.1.13
1.1.12
1.1.11
1.1.10
1.1.9
1.1.8
1.1.7
1.1.6
retired
1.1.5
retired
1.1.4
retired
1.1.3
retired
1.1.2
1.1.1
1.1.0
1.0.24
1.0.23
1.0.22
1.0.21
1.0.20
1.0.19
1.0.18
1.0.17
1.0.15
1.0.13
1.0.12
1.0.11
1.0.10
1.0.9
1.0.5
1.0.4
1.0.3
1.0.2
1.0.1
1.0.0
1.0.0-beta.23
1.0.0-beta.22
1.0.0-beta.20
1.0.0-beta.19
1.0.0-beta.18
1.0.0-beta.17
1.0.0-beta.16
1.0.0-beta.15
1.0.0-beta.14
1.0.0-beta.13
1.0.0-beta.12
1.0.0-beta.11
1.0.0-beta.10
1.0.0-beta.9
1.0.0-beta.8
1.0.0-beta.7
1.0.0-beta.6
1.0.0-beta.5
1.0.0-beta.4
1.0.0-beta.3
1.0.0-beta.2
1.0.0-beta.1
0.9.5
0.9.4
0.9.3
0.9.2
0.9.1
0.9.0
0.8.1
0.8.0
0.7.7
0.7.6
0.7.5
0.7.4
0.7.3
0.7.2
0.7.1
0.7.0
0.6.3
0.6.2
0.6.1
0.5.2
0.4.4
Postgres sync engine. Sync little subsets of your Postgres data into local apps and services.
Current section
Files
Jump to
Current section
Files
lib/electric/postgres.ex
defmodule Electric.Postgres do
@doc """
All types currently supported by Electric
## Tests
iex> :bool in supported_types()
true
"""
def supported_types do
~w[
bool
bytea
date
float4 float8
int2 int4 int8
jsonb
text
time
timestamp timestamptz
uuid
varchar
]a
end
@doc """
All types currently supported by Electric only in functions
## Tests
iex> :interval in supported_types_only_in_functions()
true
"""
def supported_types_only_in_functions, do: ~w|interval|a
@display_settings [
"SET bytea_output = 'hex'",
"SET DateStyle = 'ISO, DMY'",
"SET TimeZone = 'UTC'",
"SET extra_float_digits = 1",
"SET IntervalStyle = 'iso_8601'"
]
@doc """
Configuration settings that affect formatting of values of certain types.
These settings should be set for the current session before executing any queries or
statements to safe-guard against non-standard configuration being used in the Postgres
database cluster or even the specific database Electric is configured to connect to.
The settings Electric is sensitive to are:
* `bytea_output` - determines how Postgres encodes bytea values. It can use either Hex- or
Escape-based encoding.
* `DateStyle` - determines how Postgres interprets date values.
* `TimeZone` - affects the time zone offset Postgres uses for timestamptz and timetz values.
* `extra_float_digits` - determines whether floating-point values are rounded or are encoded precisely.
* `IntervalStyle` - determines how Postgres interprets and formats interval values.
"""
@spec display_settings :: [String.t()]
def display_settings, do: @display_settings
end