Separating data and users is a key part of administration. There will always be a need to give users a private, secure, or simply risk-free area ("sandpit") to use the database. Here's how.
Make sure you've read the recipe Deciding on a design for multi-tenancy, so that you're certain this is the route you wish to take. Other options exist, and it is possible they may be preferable in some cases.
We can create a database for a specific user with some ease. From the command line, as a superuser, these actions would be as follows:
postgres=# create user fred; CREATE ROLE postgres=# create database fred owner = fred; CREATE DATABASE
As the database owner:
Users have login privilege, ...