pg_easy_replicate
Scenic
pg_easy_replicate | Scenic | |
---|---|---|
11 | 8 | |
834 | 3,347 | |
- | 0.8% | |
8.7 | 5.8 | |
4 days ago | 7 days ago | |
Ruby | Ruby | |
MIT License | 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.
pg_easy_replicate
-
Zero Downtime Postgres Upgrades
This is great! I wrote a tool that automates most of the things you came across. If you find it useful or would like to extend it with your feedback/ideas, I'd love to have them! Thanks for sharing
https://github.com/shayonj/pg_easy_replicate
- Minimal downtime major PostgreSQL version upgrades with pg_easy_replicate
-
Zero downtime major PostgreSQL upgrades with pg_easy_replicate
These are great shouts! Thank you so much for sharing. One of the operations I ran with this was ~500GB and yeah it takes a few hours to catchup. For us, it wasn't an issue, especially also since we were on AWS Aurora. However, that said, I can totally see it being not feasible on other database engine/systems. I considered the idea of dropping all the indices and re-creating it once the catch up is complete. I'd like pg_easy_replicate it to support that. It should make the initial COPY lot more swift. On a 200GB large DB it cut down down the total time by 90%.
Re: bi-directional replication, you read my mind :). https://github.com/shayonj/pg_easy_replicate/blob/8df94aa93f...
These two features are top of my list to support in pg_easy_replicate
- Show HN: Minimal downtime PostgreSQL upgrades with pg_easy_replicate
- Minimal Downtime Postgres Upgrades with Pg_easy_replicate
Scenic
-
Database Views & Rails Active Record: defining new Model classes out of views
To model our Deliverable class, we will need a view. We will use the popular scenic gem, which provides some useful generators for creating views with their respective migrations, and utilities to handle views versioning.
-
Materialised views for serious performance gains
+1 for scenic - https://github.com/scenic-views/scenic
-
Most performant way to build an analytics dashboard from a relational database backend that only stores numeric values, where the data the end-user sees is "categorized" into numeric brackets (e.g. 60-79 = Med, 80-100 = High, etc)
If the data doesn't need to be close to real-time, and if your DB can handle a bit of load, I'd use a "batch" approach. To do this, I'd create a materialized view in your relational DB that you'd then refresh periodically. The easiest way to do this is with the `scenic` gem. Once you've done this, you can simply create a new model and set the `table_name` to the name of the materialized view, and then treat it as a regular model.
- Utilizando views SQL no Ruby on Rails
-
Frameworks for SQL Development in Rails?
I use the scenic gem to manage views which uses raw sql files: https://github.com/scenic-views/scenic
-
Rails application boilerplate for fast MVP development
add scenic
-
Logidze 1.0, postgres-specific alternative to eg paper_trail for recording ActiveRecord change history
TIL about fx gem for storing triggers in schema.rb. That makes me so happy because scenic gem for creating database views is one of my favorites. Postgres is very powerful and it's great to see tools for exposing that through Rails.
What are some alternatives?
spock - Multi-master Extension
Lol DBA - lol_dba is a small package of rake tasks that scan your application models and displays a list of columns that probably should be indexed. Also, it can generate .sql migration scripts.
SearchCop - Search engine like fulltext query support for ActiveRecord
PgHero - A performance dashboard for Postgres
pg_party - ActiveRecord PostgreSQL Partitioning
SecondBase - Seamless second database integration for Rails.
flipper - 🐬 Beautiful, performant feature flags for Ruby.
Polo - Polo travels through your database and creates sample snapshots so you can work with real world data in development.
jsonb_accessor - Adds typed jsonb backed fields to your ActiveRecord models.
SchemaPlus - SchemaPlus provides a collection of enhancements and extensions to ActiveRecord
with_advisory_lock - Advisory locking for ActiveRecord
Ruby PG Extras - Ruby PostgreSQL database performance insights. Locks, index usage, buffer cache hit ratios, vacuum stats and more.