title: How to create READ ONLY user in redshift
body: <p>I need to create READ-ONLY user account in redshift cluster db. Once user account created, that user should not be able create any object in PUBLIC.but they can SELECT any object. since CREATE &amp; USAGE privileges are granted to all users by default, pls guide me how to restrict object creation in PUBlic SCHEMA ?</p>
  
  <p>version: </p>
  
  <pre><code>PostgreSQL 8.0.2 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) 3.4.2 20041017 (Red Hat 3.4.2-6.fc3), Redshift 1.0.735
  </code></pre>
  
  <p>THANK YOU </p>
  
  <p>hi, </p>
  
  <p>I noted your reply. yes it works. But i have a clarification. </p>
  
  <p>If you did below and create any user further in database( existing user also ) , then they wil not be able to create objects in PUBLIC schema. </p>
  
  <pre><code>postgres=# REVOKE CREATE ON SCHEMA public FROM PUBLIC;
  REVOKE
  </code></pre>
  
  <p>so, if i reset back ( i.e. below ), then it applicables to all users and all the users are able to create objects in DB. </p>
  
  <pre><code>postgres=# grant create on schema public to public;
  GRANT
  </code></pre>
  
  <p>my intention is, I need to restrict object creation ( CREATE priv ) on certain users. not for all db users. For e.g. i need to create 2 users. first one is READ-ONLY. 2nd one is READ-WRITE.  i should be able to revoke the CREATE priv from only that . NOT FROM ALL. </p>
  
  <p>can you guide me if I am wrong. </p>
  
  <p>thank you again</p>