Você já verificou se sua versão 12 é compatível diretamente com a 15, ou precisa passar por versões intermediárias? O que ninguém menciona é que além do pg_upgrade, você deveria considerar fazer um backup completo antes de qualquer coisa, porque embora pg_upgrade seja bem confiável, ter esse respaldo te dá tranquilidade - especialmente com 50GB. Se de jeito nenhum você precisa evitar downtime total, existe replicação lógica (logical replication) onde você configura uma instância secundária com a versão 15, a sincroniza em paralelo e depois faz failover quando estiver pronta, mas isso é mais complexo. A maioria das pessoas que conheço acaba escolhendo pg_upgrade com uma janela de manutenção curta porque é o mais prático e rápido para um volume assim.