Existe alguma maneira nativa ou facilmente suportada de replicar o banco de dados para um local remoto para uma cópia de dados com RPO baixo? Exportar o banco de dados inteiro para um arquivo torna-se complicado se você quiser realizar backups mais de uma vez por dia ou mais.
Há algum motivo pelo qual o recurso de backup de armazenamento S3 não seja suficiente?
Certamente funciona, mas, até onde sei, é o mesmo processo usado para backups locais: gravar todo o banco de dados em um arquivo sempre que o backup é executado e, em seguida, transferir o arquivo para o S3. Se eu quiser um RPO inferior a 15 minutos, essa não é realmente uma boa solução.
Você pode executar uma instância externa do PostgreSQL com a replicação necessária para o seu caso de uso e instruir o Discourse a se conectar a ela, seguindo o guia Executando o Discourse com um servidor PostgreSQL separado.
Dessa forma, tudo estará sob seu controle e você poderá usar ferramentas e recursos padrão do PostgreSQL.
Ótimo, obrigado pelo link.
Existem alguma pegadinha ao fazer isso na hora de atualizar o banco de dados? Sei que, na instalação padrão, o Discourse geralmente tenta lidar com isso sozinho, então seria necessário atualizar o banco de dados antes de fazer uma reconstrução do Discourse que exija uma nova versão do banco? Ou você precisaria atualizar o banco de dados após o Discourse?
Você será responsável por tarefas como manter o PostgreSQL atualizado e seguir a versão principal que suportamos. Se isso não for algo com o qual você se sinta confortável, existem alternativas hospedadas, como o AWS RDS, que tornam o processo mais fácil. Apenas fique atento aos preços, pois eles podem rapidamente se tornar mais altos do que usar nosso serviço de hospedagem, que pode cuidar de toda a pilha para você.