Aqui tem outra questão, o postgres pra mensageria é lento.
Criar 5 contas diferentes no Supabase
Tudo isso se resolveria com uma instância pequena de RabbitMQ.
No meu pc (8 cores) consegui chegar a 4k/sec sem qualquer otimização.
A minha maior crítica aqui é usar uma ferramenta pra uma coisa que ela não foi proposta.
Postgres é excelente para - guardar dados -, e usar para outra finalidade exigem que sejam feitas gambiarras.
Já vi muita gente tentando usar para cache, desativando um monte de coisa, fazendo tabela customizada com um monte de regra sendo que é só subir uma instância de redis ou memcached.
Estou demonizando o fato de usar o postgres para fila? não, uso muito em projetos pequenos, que não precisam de escala. faço gambiarras? não, minha tabela de fila é uma tabela comum com (id, queue, payload, available_at), só isso.
Se eu uso porque estou criticando? pelo fato de você apresentar uma solução (que é uma gambiarra ou que não é a proposta correta dessa solução) como a solução correta e escalável
PS: todas as minhas críticas são construtivas, não tenho o objetivo de denegrir ninguem, apontar defeitos. Só estou expressando minha opinião