How to assign privileges on a postgresql schema to a user?
You don't mention which user created service_schema.customers and what permissions were given, if any, to the admin user for that table.

That user is presumably not admin and it presumably gave no permission at all to admin, so that would explain the error.

After creating the schema, the script does that:

GRANT ALL ON TABLES IN SCHEMA service_schema TO admin;


(BTW I've removed the single quotes around the schema name and user name. It's an error to put single quotes around identifiers, only double quotes or no quotes at all are allowed).

Anyway that command doesn't really affect anything because there are no tables yet in a schema that has just been created.

What you probably want is to (quoting the doc here) set the privileges that will be applied to objects created in the future with

ALTER DEFAULT PRIVILEGES IN SCHEMA service_schema GRANT ALL ON TABLES TO admin;


See ALTER DEFAULT PRIVILEGES in the documentation.