In a sharded setup, every shard must be on a 3 nodes cluster for redundancy (a replica set), the 3 nodes keep the exact same data with only one node accepting reads and writes.
You have to add capacity (shards) 3 nodes at a time, two third of which sit unused. It's not scalable at all.
Its scalable in terms that if your total data doesn't fit into single machine, you can distribute it between shards in mongo, but can't in pgsql.
replica set is for redundancy and availability, but you can use replicas for reads, so scale your reads traffic. pgsql works absolutely the same way, you have one master which accepts writes and read-only slaves/replicas.
You have to add capacity (shards) 3 nodes at a time, two third of which sit unused. It's not scalable at all.