Mostly this is because of historical reasons. Back in the day (i.e. three or so years ago) PostgreSQL required a bit more hand holding and wasn't as robust in a multi-user hosting environment.
Enough changes have been made to address all of these issues (i.e. auto vacuuming, finer grained security settings, schemas, etc... etc...) but since most hosts already have MySQL up and running, and it's a pretty good database for simple, non-critical web apps, it's maintained it's hold on hosting providers.
That said, there are quite a number of hosting providers nowadays who provide pgsql as an option, but few if any of the "free" providers have it as an option.
Note that if you are developing an application to use postgresql, a couple of the companies that provide the infrastructure support for PostgreSQL will provide you with free space to work in and develop on.