Em uma instrução preparada, o SQL é estático de propósito. O número de parâmetros não pode variar depois que a instrução é preparada.
Mas seria fácil para o seu código enviar o número certo de parâmetros, dependendo da instrução. Você pode adicionar uma variável para o contador de parâmetros e um array php dinâmico para passar para pg_execute em vez de literais codificados. E eles seriam incrementados/preenchidos dentro do
if (isset(...))
galhos.