{"repo":"michelp/metagration","free":true,"listed":false,"github":"https://github.com/michelp/metagration","clone":"git clone https://github.com/michelp/metagration.git","description":"Metagration: PostgreSQL Migrator in PostgreSQL","language":"PLpgSQL","stars":102,"topics":["postgresql","migration","plpgsql"],"license":"MIT","category":"databases-storage","readme_excerpt":"Metagration: Logical PostgreSQL Migration Migrating logically replicated PostgreSQL databases is a delicate dance of applying the right script at the right time, and enduring possible downtime making sure replicas are correctly up to date. Consider the warnings from the documentation: - The database schema and DDL commands are not replicated. The initial schema can be copied by hand using pg dump --schema-only. Subsequent schema changes would need to be kept in sync manually. Metagration is a PostgreSQL migration tool written in PostgreSQL. Metagration \"up/down\" scripts are stored procedures and applied in-database by the database. Creating and managing metagrations and actually running them are completely decoupled . Metagrations can be managed and replicated like any other data in your database using whatever favorite tool you are already familar with. Using tools like pglogical you can then apply metagrations across logically replicated cluster at the exact same point in time in the WAL stream. Metagration keeps track of restore points before all changes so entire clusters can be Point-In-Time-Recovered to the same point in the transcation log, avoiding migration induced conflict errors. Metagration has support for 100% of PostgreSQL's features, because it is PostgreSQL : - Up/Down scripts are stored procedures in any pl language. - No external tools, any PostgreSQL client can manage metagrations. - Cloud-friendly Trusted Language Extension for PostgreSQL = 18. - One simpl","default_branch":null,"files":null,"tree":[],"storefront":"/r/michelp","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/michelp/metagration/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."}