{"repo":"shayonj/pg_easy_replicate","free":true,"listed":false,"github":"https://github.com/shayonj/pg_easy_replicate","clone":"git clone https://github.com/shayonj/pg_easy_replicate.git","description":"Easily setup logical replication and switchover to new database with minimal downtime","language":"Ruby","stars":1036,"topics":["logical-replication","postgres","postgresql","ruby","hacktoberfest","high-availability","streaming","replication"],"license":"MIT","category":"databases-storage","readme_excerpt":"pg easy replicate pg easy replicate is a CLI orchestrator tool that simplifies the process of setting up logical replication between two PostgreSQL databases. pg easy replicate also supports switchover. After the source (primary database) is fully replicated, pg easy replicate puts it into read-only mode and via logical replication flushes all data to the new target database. This ensures zero data loss and minimal downtime for the application. This method can be useful for performing minimal downtime (up to <1min, depending) major version upgrades between a Blue/Green PostgreSQL database setup, load testing and other similar use cases. Battle tested in production at Tines 🚀 - Installation - Requirements - Limits - Usage - CLI - Replicating all tables with a single group - Config check - Bootstrap - Bootstrap and Config Check with special user role in AWS or GCP - Config Check - Bootstrap - Start sync - DDL Changes Management - Listing DDL Changes - Applying DDL Changes - Stats - Notify - Performing switchover - Replicating single database with custom tables - Exclude tables from replication - Cleanup - Switchover strategies with minimal downtime - Rolling restart strategy - DNS Failover strategy - FAQ - Adding internal user to pg hba or pgBouncer userlist - Contributing Installation Add this line to your application's Gemfile: And then execute: $ bundle install Or install it yourself as: $ gem install pg easy replicate This will include all dependencies accordingly as well.","default_branch":null,"files":null,"tree":[],"storefront":"/r/shayonj","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/shayonj/pg_easy_replicate/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}