postgresql – SQL Error [42501]: ERROR: permission denied for table

I am very new to postgres so please my apologies in advance if I sound naive. I am still trying to learn. I am trying to create a readonly role and then create a role and assign readonly role to the user. I logged in as postgres user

CREATE ROLE readonly;
GRANT CONNECT ON DATABASE test_db TO readonly;

GRANT USAGE ON SCHEMA public TO readonly;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO readonly;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO readonly;

CREATE USER readonlyuser WITH PASSWORD 'read123';
grant readonly  to readonlyuser;

Now I can login as user readonlyuser but I can’t read data from any tables. I get error SQL Error [42501]: ERROR: permission denied for table.

Any help would be appreciated.

upgrade – ERROR: permission denied for relation pg_class SQL state: 42501

Trying to execute the below query: but gettting permission denied for pg_class error, tried to grant privileges to all tables, sequences and functions but no grants warnings have been issued. Please help to resolve this. or suggest how to remove usage of reg* datatypes
delete FROM pg_catalog.pg_class as c
using pg_catalog.pg_namespace as n, pg_catalog.pg_attribute as a
WHERE c.oid = a.attrelid
AND NOT a.attisdropped
AND a.atttypid IN (‘pg_catalog.regproc’::pg_catalog.regtype,
‘pg_catalog.regprocedure’::pg_catalog.regtype,
‘pg_catalog.regoper’::pg_catalog.regtype,
‘pg_catalog.regoperator’::pg_catalog.regtype,
‘pg_catalog.regconfig’::pg_catalog.regtype,
‘pg_catalog.regdictionary’::pg_catalog.regtype)
AND c.relnamespace = n.oid
AND n.nspname NOT IN (‘pg_catalog’, ‘information_schema’);