postgrex
libcluster_postgres
postgrex | libcluster_postgres | |
---|---|---|
3 | 3 | |
1,050 | 177 | |
0.8% | 2.8% | |
6.6 | 6.7 | |
16 days ago | 3 months ago | |
Elixir | Elixir | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
postgrex
-
Elixir clustering using Postgres
Now we can replicate the same behavior in Elixir and Postgrex within IEx (Elixir's interactive shell).
-
TIL: Non standard postgres types in livebook
But I found a problem when the data type is not supported by postgrex. In this case, you can either have to write a custom postgrex extension like the example here. In postgrex GitHub repo, there are many examples for common data types, but XML is missing there.
-
Realtime: Multiplayer Edition
It sounds like Supabase is pulling out the WAL listening bits into its own library?
https://supabase.com/blog/supabase-realtime-multiplayer-gene...
If so, y'all might want to look into: https://github.com/elixir-ecto/postgrex/blob/master/lib/post...
libcluster_postgres
-
Elixir clustering using Postgres
However, when it comes to connecting the servers, there seems to be a barrier of entry that many people encounter, including ourselves, on how to provide the name discovery required to connect said servers. We have released our approach to solving this problem by open-sourcing libcluster Postgres Strategy and today, we explore the motivations behind its creation and the methodologies employed in its development.
-
Rethinking Serverless with Flame
Ah, that makes a lot of sense - I think the FLAME.Parent{} approach may enable backends that wouldn't be possible otherwise.
For example, if I used the heroku api to do the equivalent of ps:scale to boot up more nodes - those new nodes (dynos in heroku parlance) could see what kind of pool members they are. I don't think there is a way to do dyno specific env vars - they apply at the app level.
If anyone tries to do a Heroku backend before I do, an alternative might be to use distinct process types in the Procfile for each named pool and ps:scale those to 0 or more.
Also, might need something like Supabase's libcluster_postgres[1] to fully pull it off.
[1] https://github.com/supabase/libcluster_postgres
- Show HN: Libcluster Postgres Strategy for Elixir
What are some alternatives?
ecto - A toolkit for data mapping and language integrated query.
sst - Build modern full-stack applications on AWS
eventstore - Event store using PostgreSQL for persistence
flame
mariaex - Pure Elixir database driver for MariaDB / MySQL
libcluster_postgres - Postgres strategy for libcluster
mongodb_ecto - MongoDB adapter for Ecto
basic-examples - Contains source code for the basic examples in the PiCloud Documentation.
amnesia - Mnesia wrapper for Elixir.
couchdb_connector - A couchdb connector for Elixir
ecto_psql_extras - Ecto PostgreSQL database performance insights. Locks, index usage, buffer cache hit ratios, vacuum stats and more.
neo4j_sips - Elixir driver for the Neo4j graph database server