Conceder privilegios para una base de datos particular en PostgreSQL

Me estoy mudando de MySQL a PostgreSQL y he llegado a un muro con privilegios de usuario. Estoy acostumbrado a asignar a un usuario todos los privilegios a todas las tablas de una base de datos con el siguiente comando:

# MySQL
grant all privileges on mydatabase.* to 'myuser'@'localhost' identified by 'mypassword';

Me parece que la solución PostgreSQL 9.x implica la asignación de privilegios a un "esquema", pero el esfuerzo requerido de mí para descubrir exactamente qué SQL emitir está resultando excesivo. Sé que unas pocas horas más de investigación arrojarán una respuesta, pero creo que todos los que se muden de MySQL a PostgreSQL podrían beneficiarse de tener al menos una página en la web que proporcione una receta simple y completa. Este es el único comando que he necesitado emitir para los usuarios. Prefiero no tener que emitir un comando para cada nueva tabla.

No sé qué escenarios deben manejarse de manera diferente en PostgreSQL, por lo que enumeraré algunos de los escenarios que normalmente tuve que manejar en el pasado. Supongamos que solo queremos modificar los privilegios a una sola base de datos que ya se ha creado.

(1a) Todavía no se han creado todas las tablas, o (1b) las tablas ya se han creado.

(2a) El usuario aún no se ha creado, o (2b) el usuario ya se ha creado.

(3a) Los privilegios aún no se han asignado al usuario, o (3b) los privilegios se asignaron previamente al usuario.

(4a) El usuario solo necesita insertar, actualizar, seleccionar y eliminar filas, o (4b) el usuario también debe poder crear y eliminar tablas.

He visto respuestas que otorgan todos los privilegios a todas las bases de datos, pero eso no es lo que quiero aquí. Por favor, estoy buscando una receta simple, aunque tampoco me importaría una explicación.

No quiero otorgar derechos a todos los usuarios y todas las bases de datos, como parece ser el acceso directo convencional, porque ese enfoque compromete todas las bases de datos cuando cualquier usuario se ve comprometido. Alojo múltiples clientes de bases de datos y asigno a cada cliente un inicio de sesión diferente.

Parece que también necesito elUSAGE privilegio de obtener los valores crecientes de unserial columna, pero tengo que otorgarlo en algún tipo de secuencia. Mi problema se volvió más complejo.