title: Grant privileges on all future tables, independently of their owner
body: <p>I read the following question before: <a href="https://stackoverflow.com/questions/22684255/grant-privileges-on-future-tables-in-postgresql">Grant privileges on future tables in PostgreSQL?</a>.</p>
  
  <p>But if I run the following query while logged in as <code>rbourgeon</code> (which is a superuser):</p>
  
  <pre><code>ALTER DEFAULT PRIVILEGES GRANT ALL ON TABLES IN SCHEMA myschema TO username;
  </code></pre>
  
  <p>I notice that the user <code>username</code> will have the privileges only on the future tables <strong>created by me</strong>, and not on all the future tables. </p>
  
  <p>The <a href="https://www.postgresql.org/docs/9.0/static/sql-alterdefaultprivileges.html" rel="nofollow noreferrer">official PostgreSQL documentation</a>, on this issue, reads:</p>
  
  <blockquote>
    <p>ALTER DEFAULT PRIVILEGES allows you to set the privileges that will be
    applied to objects created in the future. (It does not affect
    privileges assigned to already-existing objects.) Currently, only the
    privileges for tables (including views), sequences, and functions can
    be altered.</p>
    
    <p><strong>You can change default privileges only for objects that will be
    created by yourself or by roles that you are a member of.</strong> The
    privileges can be set globally (i.e., for all objects created in the
    current database), or just for objects created in specified schemas.
    Default privileges that are specified per-schema are added to whatever
    the global default privileges are for the particular object type.</p>
  </blockquote>
  
  <p>Is there a workaround? Because many users may create tables in this database.</p>