I have a database named `somedb` owned by user `someuser`. I have revoked all privileges from public to this database. I want to grant connect privileges to `anotheruser`, but I don't want `anotheruser` to be able to query any of the non-system tables (i.e. any table created by `someuser`) in its public schema. Is that possible? Or do I need to move all the tables in the public schema to a different schema? When I `GRANT CONNECT ON DATABASE somedb TO anotheruser;` and connect to database `somedb` as user `anotheruser`, I can query all the tables in `somedb`. I tried the following, but it didn't work: ``` REVOKE ALL ON somedb.public.sometable FROM anotheruser; ALTER DEFAULT PRIVILEGES FOR USER anotheruser IN SCHEMA public REVOKE ALL ON TABLES FROM anotheruser; ALTER DEFAULT PRIVILEGES FOR USER anotheruser IN SCHEMA public REVOKE ALL ON SEQUENCES FROM anotheruser; ``` It might be useful to know that `anotheruser` has SELECT and other privileges in a *different* database on the same server.