Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/Autodesk/pgbelt

Pgbelt is a CLI tool used to manage Postgres data migrations from beginning to end, for a single database or a fleet, leveraging pglogical replication.
https://github.com/Autodesk/pgbelt

Last synced: about 2 months ago
JSON representation

Pgbelt is a CLI tool used to manage Postgres data migrations from beginning to end, for a single database or a fleet, leveraging pglogical replication.

Awesome Lists containing this project

README

        

# Pgbelt





Latest Commit





PgBelt is a CLI tool used to manage Postgres data migrations from beginning to end,
for a single database or a fleet, leveraging pglogical replication.

It was built to assist in migrating data between postgres databases with as
little application downtime as possible. It works in databases running different versions
of postgres and makes it easy to run many migrations in parallel during a single downtime.

| :exclamation: This is very important |
| :---------------------------------------------------------------------------------------------------------------------------------------------- |
| As with all Data Migration tasks, **there is a risk of data loss**. Please ensure you have backed up your data before attempting any migrations |

## Installation

### Install From PyPi

It is recommended to install pgbelt inside a virtual environment:

- [pyenv](https://github.com/pyenv/pyenv)
- [pyenv-virtualenv](https://github.com/pyenv/pyenv-virtualenv)

You must also have:

- Postgres Client Tools (pg_dump, pg_restore). Mac: `brew install libpq`. Ubuntu: `sudo apt-get install postgresql-client`

Install pgbelt locally:

pip3 install pgbelt

## Quickstart with Pgbelt

See [this doc](docs/quickstart.md)!

## Playbook

This playbook gets updated actively. If you have any issues, solutions could be found in [this playbook](docs/playbook.md).

## Contributing

We welcome contributions! See [this doc](CONTRIBUTING.md) on how to do so, including setting up your local development environment.