Vejo que o PostgreSQL 17 introduziu um backup incremental que parece realmente ótimo! Eu estava pensando se ele poderia ser usado para restaurar um backup incremental.
Nosso caso de uso é que temos um único servidor de banco de dados. Atualmente, quando precisamos de tempo de inatividade, paramos nosso aplicativo, fazemos pg_dump no banco de dados primário, restauramos em um servidor secundário e, em seguida, reiniciamos nosso aplicativo apontado para o banco de dados secundário. Quando o tempo de inatividade é feito no servidor de banco de dados primário, fazemos o inverso. Isso agora normalmente leva cerca de 20 minutos entre o dump e a restauração e eu gostaria de minimizar isso ainda mais.
O que eu adoraria poder fazer é deixar o banco de dados rodando, despejar o banco de dados existente e restaurá-lo para o secundário. Então, parar o banco de dados, fazer um backup incremental e restaurá-lo, então trazer o secundário para cima.
Imagino que isso nos pouparia uma quantidade significativa de tempo de inatividade e manteria nossa configuração simples. Poderíamos considerar uma solução mais sofisticada usando replicação, mas isso parece mais complexo do que realmente precisamos.