MongoDB vs Postgres

Not directly no but if you are using something like Nginx and the upstream proxy module it’s fairly easy.

If you take a look at some of our Nginx sample configs: https://strapi.io/documentation/v3.x/deployment/nginx-proxy.html

In those examples we are using the /etc/nginx/conf.d/upstream.conf with just a standard upstream block:

upstream strapi {
    server 127.0.0.1:1337;
}

You could actually swap this out to something like:

upstream strapi {
    least_conn;
    server 10.0.0.1:1337;
    server 10.0.0.2:1337;
    server 10.0.0.3:1337;
}

In this case you can set as many “servers” at you want and even change out the least_conn to one of the other supported methods like round-robin, there is also some config stuff for keeping a client tied to a specific server (commonly called sticky or persistent connections). I would highly suggest you take a look through the Nginx proxy documentation and guides here: Using nginx as HTTP load balancer

Likewise other services such as Caddy, HAProxy, Traefik, and others can provide similar options. For horizontal + vertical scaling you can use a combination of one of these proxy applications and also something like PM2 Clusters.