I have a personal project that I'm planning to implement, but having difficulty with coming up a good solution to below problem.

The basic idea is to provide a simple tool for users to collect data from other people ( similar to a survey ).
Users will be able to create several (up to 20) form fields. I can dynamically create a database table for each user-created form, however this doesn't sound like a good solution.

What would be the best way to do this? I'm planning to use Postgresql for this project. I don't know much about Amazon's SimpleDB, or Google's BigTable. Can those serve better to my problem?

Thanks for any help...