RE: puppetdb and pgsql: it all depends on how big your environment is - the suggestion for puppetdb is, if you have fewer than 100 nodes, that you use the built in haskell/cloujure db - I've ended up doing this, since the env is fairly small where we've got this configured, and the storeconfigs were painfully slow. I was also disappointed to discover that there's no pgsql backend for the dashboard - hopefully this is something that will be available soon - there are feature requests in the puppetlabs redmine for it.
Right now, I've installed puppetdb and using the built in db, and I've not seen major performance gains with store configs, to be honest ... but further profiling seems to be pointing a finger at the speed of file serving as opposed to config retrieval via storeconfigs ... just another bottleneck in the pain that my puppet setup has become