Hi,
I don't see a GRANT CREATE ON SCHEMA ... TO 'john';
https://www.postgresql.org/docs/10/static/sql-grant.html
"For schemas, allows new objects to be created within the schema. To rename
an existing object, you must own the object and have this privilege for the
containing schema."
Benoit.