Столкнувшись с ситуацией, нам необходимо объединить несколько небольших экземпляров Postgres в один более крупный.
Не могу понять, как реплицировать новые данные из «старой» базы данных в «новую» базу данных, когда происходит замена.
Попробую объяснить проще:
old db instance name is X
new db instance is Y
X has 10 GB of data and its takes 15~ minutes to dump & restore
in the meanwhile X receives more data (1-2 MB)
** HOW do i make X replicate data to Y so this data wont get lost ? **
У меня есть небольшой скрипт для дампа и восстановления
## remote db to remote db
PGPASSWORD=$source_pass pg_dump -h $source_host -d $source_db_name -U $source_user -p $source_port > test.sql
psql postgres://$dest_user:$dest_pass@$dest_host:$dest_port/postgres -c "CREATE DATABASE ${source_db_name}" \
-c "CREATE USER ${source_user} WITH PASSWORD '${source_pass}'" \
-c "ALTER USER "${source_user}" WITH CREATEDB" \
|| echo "database already exists"
psql postgres://$dest_user:$dest_pass@$dest_host:$dest_port/$source_db_name < test.sql \
&& echo "loaded Data succesfuly !" || echo "Couldnt load data"