1. pgpool 2
2. gridsql
which is a better way to use sharding
Both are good methods of sharding, but it depends on your goals. GridSQL is better in reporting applications where as PG Pool2 is better in transactional situations.
also is it possible to paritition without changing client code
Yes, but it depends on the SQL in your client code. If you are just using simple SQL with no stored functions, you should be able to slip in either solution without changing the client code.
Jim Mlodgenski
EnterpriseDB (http://www.enterprisedb.com)