PostgreSQLはデータベースの所有者じゃないと色々面倒なことになるので以下のように作成する
psql -U postgres -c "CREATE ROLE {user} WITH LOGIN PASSWORD '{password}';" createdb -U postgres -E UTF-8 {database} -O {user} psql -U {user} -d {database} -f create.sql
データベース作成して、データを追加してからオーナー変更とか以下のようにやっても
createdb -U postgres -E UTF-8 {database} psql -U postgres -d {database} -f create.sql alter database {database} OWNER TO {user}
テーブルに対するアクセス権は変更されないので操作できません。