Group permissions in postgreSQL not inheriting to table level
The simple test:

postgres=# create schema foo;
CREATE SCHEMA
postgres=# create table foo.t(x int);
CREATE TABLE
postgres=# create role foomaster nosuperuser nologin inherit;
CREATE ROLE
postgres=# create role fooslave password '111' login inherit in role foomaster;
CREATE ROLE
postgres=# grant usage on schema foo to foomaster;
GRANT
postgres=# set role fooslave;
SET
postgres=&gt; select * from foo.t;
ERROR:  permission denied for relation t
postgres=&gt; set role postgres;
SET
postgres=# grant select on foo.t to foomaster;
GRANT
postgres=# set role fooslave;
SET
postgres=&gt; select * from foo.t;
 x 
---
(0 rows)


It seems that you are doing something wrong.

Upd: About newely created table:

postgres=&gt; set role postgres;
SET
postgres=# create table foo.tt(xx int);
CREATE TABLE
postgres=# set role fooslave;
SET
postgres=&gt; select * from foo.tt;
ERROR:  permission denied for relation tt
postgres=&gt; set role postgres;
SET
postgres=# grant select on foo.tt to foomaster;
GRANT
postgres=# set role fooslave;
SET
postgres=&gt; select * from  foo.tt;
 xx 
----
(0 rows)


PPS: Hope that my investigations was helpful at least for somebody.