why is granting ALL permissions and privileges to a new role/user for a new database difficult with postgresql?
There are certainly some differences between PostgreSQL and other databases, such as MySQL. When I first started working with PostgreSQL, I found it to have a lot more friction than the servers I was more familiar with. However, a bit of practice — and a lot of snippets in Evernote — reveals the method to the madness.
That said, to answer your question, there are 4.5 steps to create a database, a user account, and grant all permissions.
From the command line:

Create the user:
$ sudo -u postgres createuser &lt;username&gt;


Create the database:
$ sudo -u postgres createdb &lt;dbname&gt;

The next commands are done in PostgreSQL, so step 2.5 is logging in to the server:
$ sudo -u postgres psql


Assign the user a password:
ALTER USER &lt;username&gt; WITH ENCRYPTED PASSWORD '&lt;password&gt;';


Grant privileges on database:
GRANT ALL PRIVILEGES ON DATABASE &lt;dbname&gt; TO &lt;username&gt; ;



Done and done.
You probably do this already, but a note-taking system like Evernote (or just a well-structured directory with text files) is an indispensable tool for processes like this until muscle memory kicks in