ERROR: permission denied for table <tablename>

grant select on all tables in schema schemaname to username;

I don’t unserstand what I’m missing.

Who is the owner of the table for which you are getting Permission denied?

SELECT tablename, tableowner
FROM pg_tables
WHERE schemaname = 'schemaname';

\dp schemaname.tablename
\dp schemaname.*

Are you encountering this error with existing tables, or with tables created after the GRANT was applied?

I think I was missing:
grant usage on schema schemaname to username

Just waiting for the user to test.

User has confirmed that this has fixed it.