what is the best way to shard on postgres?
First I'd make sure your DB sizes really NEED that before going down that road, it's a lot of hassle, and I'd personally push for just sizing your DB box up and up and up before going down that road if at all possible. Simple solutions(read: not sharding) usually win, especially when production falls over and you have to prop it back up.