title: GRANT SELECT Simply not working
body: <p>I have a user that I need to allow <code>SELECT</code> access to a database.  I've followed all the instructions I've found scattered all over SO and I can't get anything to work.</p>
  
  <p>I've tried all the suggested solutions to all of the following links:</p>
  
  <p><a href="https://stackoverflow.com/questions/760210/how-do-you-create-a-read-only-user-in-postgresql">How do you create a read-only user in PostgreSQL?</a></p>
  
  <p><a href="https://stackoverflow.com/questions/13497352/error-permission-denied-for-relation-tablename-on-postgres-while-trying-a-selec">ERROR: permission denied for relation tablename on Postgres while trying a SELECT as a readonly user</a></p>
  
  <p><a href="https://stackoverflow.com/questions/15520361/permission-denied-for-relation">Permission denied for relation</a></p>
  
  <p>...and many more references to the PSQL docs, blogs and user groups.  Nothing is working.</p>
  
  <p>Here are the commands I recently used as the postgres user to grant privileges:</p>
  
  <pre><code>postgres@dev:~$ psql
  psql (9.1.9)
  Type "help" for help.
  
  postgres=# grant usage on SCHEMA public to proton_read;
  GRANT
  postgres=# grant select on all tables in schema public to proton_read;
  GRANT
  postgres=# alter default privileges in schema public grant select on tables to proton_read;
  ALTER DEFAULT PRIVILEGES
  </code></pre>
  
  <p>Here are the commands used as the read only user:</p>
  
  <pre><code>proton_read@dev:~$ psql proton
  psql (9.1.9)
  Type "help" for help.
  
  proton=&gt; select * from leads_lead limit 1;
  ERROR:  permission denied for relation leads_lead
  </code></pre>
  
  <p>Here's the kicker, I had this working once.  I have a sample database dump that I'm using to teach basic SQL to business co-workers.  We are covering simple commands such as <code>SELECT</code>, <code>ORDER BY</code>, <code>LIMIT</code> and <code>JOIN</code>.  I had an old dump and was able to grant read only access.  I dropped the database and did a pg_restore with a newer version of the database and now I cannot re-grant the SELECT access.</p>
  
  <p>Any help would be greatly appreciated.</p>