Hello. I have a PostgreSQL high availability cluster with Pgpool-II, but I don't use the virtual IP feature so my clients don't know which node to send queries to. DNS round-robin is not a solution because it can't distinguish between healthy and dead nodes.
I thought about having a Pgpool-II instance on each client (client Pgpool-II -> cluster Pgpool-II -> PostgreSQL), but AFAIK it can't distribute write queries. I also know that libpq may have multiple nodes to connect, but I need an advanced health check because a node may have connectivity but be separated from the whole cluster so it must be considered dead.
Is there any solution?