doc-exports/docs/dws/dev/dws_06_0244.html
Lu, Huayi e6fa411af0 DWS DEV 830.201 version
Reviewed-by: Pruthi, Vineet <vineet.pruthi@t-systems.com>
Co-authored-by: Lu, Huayi <luhuayi@huawei.com>
Co-committed-by: Lu, Huayi <luhuayi@huawei.com>
2024-05-16 07:24:04 +00:00

214 lines
42 KiB
HTML

<a name="EN-US_TOPIC_0000001233510103"></a><a name="EN-US_TOPIC_0000001233510103"></a>
<h1 class="topictitle1">ALTER DEFAULT PRIVILEGES</h1>
<div id="body8662426"><div class="section" id="EN-US_TOPIC_0000001233510103__s675f4b61cd104e3cae342a86edcdbeed"><h4 class="sectiontitle">Function</h4><p id="EN-US_TOPIC_0000001233510103__a0b1300208cc94e6caa9d35bfea4dfff7"><strong id="EN-US_TOPIC_0000001233510103__en-us_topic_0085032609_b1928832495838">ALTER DEFAULT PRIVILEGES</strong> allows you to set the permissions that will be used for objects to be created. It does not affect permissions assigned to existing objects.</p>
<p id="EN-US_TOPIC_0000001233510103__p1185225452715">A user can modify only the default permissions of objects created by the user or the role to which the user belongs. These permissions can be set globally (all objects created in the database) or for objects in a specified schema.</p>
<p id="EN-US_TOPIC_0000001233510103__p187916280715">To view information about the default permissions of database users, query the system catalog .</p>
</div>
<div class="section" id="EN-US_TOPIC_0000001233510103__s1e891edffc484ae2a37421f8e62871f1"><h4 class="sectiontitle">Precautions</h4><p id="EN-US_TOPIC_0000001233510103__a119e9dec161544d9a74349d28d91d03e">Only the permissions for tables (including views), sequences, functions, and types (including domains) can be altered.</p>
</div>
<div class="section" id="EN-US_TOPIC_0000001233510103__s6764a6ecdfb248df942cf4576f882072"><h4 class="sectiontitle">Syntax</h4><div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233510103__s846bb18d883f4f048531a750c0683ee0"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">ALTER</span><span class="w"> </span><span class="k">DEFAULT</span><span class="w"> </span><span class="k">PRIVILEGES</span>
<span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">FOR</span><span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="k">ROLE</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">USER</span><span class="w"> </span><span class="err">}</span><span class="w"> </span><span class="n">target_role</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="p">...]</span><span class="w"> </span><span class="p">]</span>
<span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="k">SCHEMA</span><span class="w"> </span><span class="k">schema_name</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="p">...]</span><span class="w"> </span><span class="p">]</span>
<span class="w"> </span><span class="n">abbreviated_grant_or_revoke</span><span class="p">;</span>
</pre></div></td></tr></table></div>
</div>
<ul id="EN-US_TOPIC_0000001233510103__ul847984018506"><li id="EN-US_TOPIC_0000001233510103__li1747912402509"><strong id="EN-US_TOPIC_0000001233510103__b4130605995933">abbreviated_grant_or_revoke</strong> grants or revokes permissions on certain objects.<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233510103__s98eac4b11cc8403488d023a6bcbd9cee"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span>
<span class="normal">5</span>
<span class="normal">6</span>
<span class="normal">7</span>
<span class="normal">8</span></pre></div></td><td class="code"><div><pre><span></span><span class="n">grant_on_tables_clause</span>
<span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">grant_on_functions_clause</span>
<span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">grant_on_types_clause</span>
<span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">grant_on_sequences_clause</span>
<span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">revoke_on_tables_clause</span>
<span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">revoke_on_functions_clause</span>
<span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">revoke_on_types_clause</span>
<span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">revoke_on_sequences_clause</span>
</pre></div></td></tr></table></div>
</div>
</li></ul>
<ul id="EN-US_TOPIC_0000001233510103__ua896d1aa6c35438ba704c4f41392989f"><li id="EN-US_TOPIC_0000001233510103__lf587b087af794fd2ac9373b25ed070fa"><strong id="EN-US_TOPIC_0000001233510103__b842352706204028">grant_on_tables_clause</strong> grants permissions on tables.<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233510103__s1fd9609ac294492eaff3c45a8ea56455"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span>
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">GRANT</span><span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="k">SELECT</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">INSERT</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">UPDATE</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">DELETE</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">TRUNCATE</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">REFERENCES</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">TRIGGER</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">ANALYZE</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">ANALYSE</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">VACUUM</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">ALTER</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">DROP</span><span class="w"> </span><span class="err">}</span><span class="w"> </span>
<span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="p">...]</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">ALL</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">PRIVILEGES</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="err">}</span>
<span class="w"> </span><span class="k">ON</span><span class="w"> </span><span class="n">TABLES</span><span class="w"> </span>
<span class="w"> </span><span class="k">TO</span><span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">GROUP</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="n">role_name</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">PUBLIC</span><span class="w"> </span><span class="err">}</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="p">...]</span>
<span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">WITH</span><span class="w"> </span><span class="k">GRANT</span><span class="w"> </span><span class="k">OPTION</span><span class="w"> </span><span class="p">]</span>
</pre></div></td></tr></table></div>
</div>
</li><li id="EN-US_TOPIC_0000001233510103__le0cc32b0f43c47359778f746e0bef3fe"><strong id="EN-US_TOPIC_0000001233510103__b2024036310025">grant_on_functions_clause</strong> grants permissions on functions.<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233510103__sf3c4290016274702a15b657994a23787"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">GRANT</span><span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="k">EXECUTE</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">ALL</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">PRIVILEGES</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="err">}</span>
<span class="w"> </span><span class="k">ON</span><span class="w"> </span><span class="n">FUNCTIONS</span><span class="w"> </span>
<span class="w"> </span><span class="k">TO</span><span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">GROUP</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="n">role_name</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">PUBLIC</span><span class="w"> </span><span class="err">}</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="p">...]</span>
<span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">WITH</span><span class="w"> </span><span class="k">GRANT</span><span class="w"> </span><span class="k">OPTION</span><span class="w"> </span><span class="p">]</span>
</pre></div></td></tr></table></div>
</div>
</li><li id="EN-US_TOPIC_0000001233510103__ldda575f6244a48df9a9e0da13a8e6b4a"><strong id="EN-US_TOPIC_0000001233510103__b5838391310025">grant_on_types_clause</strong> grants permissions on types.<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233510103__s70e1172a6a2140eea156979ed52fbfd0"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">GRANT</span><span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="k">USAGE</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">ALL</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">PRIVILEGES</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="err">}</span>
<span class="w"> </span><span class="k">ON</span><span class="w"> </span><span class="n">TYPES</span><span class="w"> </span>
<span class="w"> </span><span class="k">TO</span><span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">GROUP</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="n">role_name</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">PUBLIC</span><span class="w"> </span><span class="err">}</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="p">...]</span>
<span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">WITH</span><span class="w"> </span><span class="k">GRANT</span><span class="w"> </span><span class="k">OPTION</span><span class="w"> </span><span class="p">]</span>
</pre></div></td></tr></table></div>
</div>
</li><li id="EN-US_TOPIC_0000001233510103__li0405114218539"><strong id="EN-US_TOPIC_0000001233510103__b91869209480">grant_on_sequences_clause</strong> grants permissions on sequences.<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233510103__screen16405842105311"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span>
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">GRANT</span><span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="k">USAGE</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">SELECT</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">UPDATE</span><span class="w"> </span><span class="err">}</span>
<span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="p">...]</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">ALL</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">PRIVILEGES</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="err">}</span>
<span class="w"> </span><span class="k">ON</span><span class="w"> </span><span class="n">SEQUENCES</span><span class="w"> </span>
<span class="w"> </span><span class="k">TO</span><span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">GROUP</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="n">role_name</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">PUBLIC</span><span class="w"> </span><span class="err">}</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="p">...]</span>
<span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">WITH</span><span class="w"> </span><span class="k">GRANT</span><span class="w"> </span><span class="k">OPTION</span><span class="w"> </span><span class="p">]</span>
</pre></div></td></tr></table></div>
</div>
</li><li id="EN-US_TOPIC_0000001233510103__l6490857d1092422d99fd4f497ee97384"><strong id="EN-US_TOPIC_0000001233510103__b1485324610025">revoke_on_tables_clause</strong> revokes permissions on tables.<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233510103__s655f7a9edd2a41539f33ca3ebab430c5"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span>
<span class="normal">5</span>
<span class="normal">6</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">REVOKE</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">GRANT</span><span class="w"> </span><span class="k">OPTION</span><span class="w"> </span><span class="k">FOR</span><span class="w"> </span><span class="p">]</span>
<span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="k">SELECT</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">INSERT</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">UPDATE</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">DELETE</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">TRUNCATE</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">REFERENCES</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">TRIGGER</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">ANALYZE</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">ANALYSE</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">VACUUM</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">ALTER</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">DROP</span><span class="w"> </span><span class="err">}</span><span class="w"> </span>
<span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="p">...]</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">ALL</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">PRIVILEGES</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="err">}</span>
<span class="w"> </span><span class="k">ON</span><span class="w"> </span><span class="n">TABLES</span><span class="w"> </span>
<span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">GROUP</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="n">role_name</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">PUBLIC</span><span class="w"> </span><span class="err">}</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="p">...]</span>
<span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">CASCADE</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">RESTRICT</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">CASCADE</span><span class="w"> </span><span class="k">CONSTRAINTS</span><span class="w"> </span><span class="p">]</span>
</pre></div></td></tr></table></div>
</div>
</li><li id="EN-US_TOPIC_0000001233510103__l7870d2fce8734951ad6b90cf43407142"><strong id="EN-US_TOPIC_0000001233510103__b1123814610025">revoke_on_functions_clause</strong> revokes permissions on functions.<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233510103__sf4bd115101a74168a893c9b26df0a74d"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span>
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">REVOKE</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">GRANT</span><span class="w"> </span><span class="k">OPTION</span><span class="w"> </span><span class="k">FOR</span><span class="w"> </span><span class="p">]</span>
<span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="k">EXECUTE</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">ALL</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">PRIVILEGES</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="err">}</span>
<span class="w"> </span><span class="k">ON</span><span class="w"> </span><span class="n">FUNCTIONS</span><span class="w"> </span>
<span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">GROUP</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="n">role_name</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">PUBLIC</span><span class="w"> </span><span class="err">}</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="p">...]</span>
<span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">CASCADE</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">RESTRICT</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">CASCADE</span><span class="w"> </span><span class="k">CONSTRAINTS</span><span class="w"> </span><span class="p">]</span>
</pre></div></td></tr></table></div>
</div>
</li><li id="EN-US_TOPIC_0000001233510103__l718aef6df5ae49759b939feb62222d45"><strong id="EN-US_TOPIC_0000001233510103__b532711810025">revoke_on_types_clause</strong> revokes permissions on types.<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233510103__s0e64b002fad54bacb57228bd36d46a9d"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span>
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">REVOKE</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">GRANT</span><span class="w"> </span><span class="k">OPTION</span><span class="w"> </span><span class="k">FOR</span><span class="w"> </span><span class="p">]</span>
<span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="k">USAGE</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">ALL</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">PRIVILEGES</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="err">}</span>
<span class="w"> </span><span class="k">ON</span><span class="w"> </span><span class="n">TYPES</span><span class="w"> </span>
<span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">GROUP</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="n">role_name</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">PUBLIC</span><span class="w"> </span><span class="err">}</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="p">...]</span>
<span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">CASCADE</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">RESTRICT</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">CASCADE</span><span class="w"> </span><span class="k">CONSTRAINTS</span><span class="w"> </span><span class="p">]</span>
</pre></div></td></tr></table></div>
</div>
</li><li id="EN-US_TOPIC_0000001233510103__li73741713195317"><strong id="EN-US_TOPIC_0000001233510103__b157773754815">revoke_on_sequences_clause</strong> revokes permissions on sequences.<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233510103__screen47901651105318"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span>
<span class="normal">5</span>
<span class="normal">6</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">REVOKE</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">GRANT</span><span class="w"> </span><span class="k">OPTION</span><span class="w"> </span><span class="k">FOR</span><span class="w"> </span><span class="p">]</span>
<span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="k">USAGE</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">SELECT</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">UPDATE</span><span class="w"> </span><span class="err">}</span>
<span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="p">...]</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">ALL</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">PRIVILEGES</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="err">}</span>
<span class="w"> </span><span class="k">ON</span><span class="w"> </span><span class="n">SEQUENCES</span><span class="w"> </span>
<span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">GROUP</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="n">role_name</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">PUBLIC</span><span class="w"> </span><span class="err">}</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="p">...]</span>
<span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">CASCADE</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">RESTRICT</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">CASCADE</span><span class="w"> </span><span class="k">CONSTRAINTS</span><span class="w"> </span><span class="p">]</span>
</pre></div></td></tr></table></div>
</div>
</li></ul>
</div>
<div class="section" id="EN-US_TOPIC_0000001233510103__sc9d9be895794402fbd0c4e79a1d61f98"><h4 class="sectiontitle">Parameter Description</h4><ul id="EN-US_TOPIC_0000001233510103__u5961c4ee80d54bc69b3fda9f800c601d"><li id="EN-US_TOPIC_0000001233510103__l5104e28b3785444aaf3781391296a9bd"><strong id="EN-US_TOPIC_0000001233510103__a60c451d60b224eb8b15aea117bc4ac21">target_role</strong><p id="EN-US_TOPIC_0000001233510103__ad2b0dacf92fa4f2d9331f592f892c027">Specifies the name of an existing role. If <strong id="EN-US_TOPIC_0000001233510103__b5595644114033">FOR ROLE/USER</strong> is omitted, the current role or user is assumed.</p>
<p id="EN-US_TOPIC_0000001233510103__p1668115171234"><strong id="EN-US_TOPIC_0000001233510103__b1269092817814">target_role</strong> must have the CREATE permissions for <strong id="EN-US_TOPIC_0000001233510103__b16697528980">schema_name</strong>. You can use the <strong id="EN-US_TOPIC_0000001233510103__b46909421819">has_schema_privilege</strong> function to check whether a role or user has the <strong id="EN-US_TOPIC_0000001233510103__b841413522815">CREATE</strong> permission on a schema.</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233510103__screen6255123132410"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">a</span><span class="p">.</span><span class="n">rolname</span><span class="p">,</span><span class="w"> </span><span class="n">n</span><span class="p">.</span><span class="n">nspname</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">pg_authid</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">pg_namespace</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">n</span><span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="n">has_schema_privilege</span><span class="p">(</span><span class="n">a</span><span class="p">.</span><span class="n">oid</span><span class="p">,</span><span class="w"> </span><span class="n">n</span><span class="p">.</span><span class="n">oid</span><span class="p">,</span><span class="w"> </span><span class="s1">'CREATE'</span><span class="p">);</span>
</pre></div></td></tr></table></div>
</div>
<p id="EN-US_TOPIC_0000001233510103__a6fba8f792a0441f692b5dc6b28f775ba">Value range: An existing role name.</p>
</li><li id="EN-US_TOPIC_0000001233510103__l9687c0eedbf442d7a3d6bcc1d772a961"><strong id="EN-US_TOPIC_0000001233510103__aae52af20336a4dbf86a3595f85b1aea9">schema_name</strong><p id="EN-US_TOPIC_0000001233510103__a6170292b2a4442d5b09e99b04c4bb4db">Indicates the name of an existing schema. If a schema name is specified, the default permissions of all objects created in the schema will be modified. If <strong id="EN-US_TOPIC_0000001233510103__b9343191013914">IN SCHEMA</strong> is omitted, global permissions will be modified.</p>
<p id="EN-US_TOPIC_0000001233510103__afd43ca54a1a14419bf38f6b55cc5ceb7">Value range: An existing schema name.</p>
</li><li id="EN-US_TOPIC_0000001233510103__l02735d489bfb4f5595218bb49eb01a66"><strong id="EN-US_TOPIC_0000001233510103__ae864088806ce40258ea543b337651695">role_name</strong><p id="EN-US_TOPIC_0000001233510103__a9b4a8af4856c48ef8bfe12b35b1bf8af">Specifies the name of an existing role whose permissions are to be granted or revoked.</p>
<p id="EN-US_TOPIC_0000001233510103__aa73ba742b0984684a079d4c771fee605">Value range: An existing role name.</p>
</li></ul>
<div class="notice" id="EN-US_TOPIC_0000001233510103__n0a6439d91d174cc68b4cf5312355ff80"><span class="noticetitle"><img src="public_sys-resources/notice_3.0-en-us.png"> </span><div class="noticebody"><p id="EN-US_TOPIC_0000001233510103__a92ba2e5dc0884f578f503ed09479241d">To drop a role for which the default permissions have been assigned, to reverse the changes in its default permissions or use <strong id="EN-US_TOPIC_0000001233510103__b185951271035">DROP OWNED BY</strong> to get rid of the default privileges entry for the role.</p>
</div></div>
</div>
<div class="section" id="EN-US_TOPIC_0000001233510103__section335221613011"><h4 class="sectiontitle">Examples</h4><p id="EN-US_TOPIC_0000001233510103__p29921744133119">Run the following statements to create two users:</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233510103__screen21996219322"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">CREATE</span><span class="w"> </span><span class="k">USER</span><span class="w"> </span><span class="n">jack</span><span class="w"> </span><span class="n">PASSWORD</span><span class="w"> </span><span class="s1">'{Password}'</span><span class="p">;</span>
</pre></div></td></tr></table></div>
</div>
<p id="EN-US_TOPIC_0000001233510103__p125701236193215">Creating mode:</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233510103__screen013720565320"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">CREATE</span><span class="w"> </span><span class="k">SCHEMA</span><span class="w"> </span><span class="n">tpcds</span><span class="p">;</span>
</pre></div></td></tr></table></div>
</div>
<ul id="EN-US_TOPIC_0000001233510103__ul154230398466"><li id="EN-US_TOPIC_0000001233510103__li1842313924615">Grant the SELECT permission on all the tables (and views) in <strong id="EN-US_TOPIC_0000001233510103__b109876976433529">tpcds</strong> to every user.<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233510103__screen19534453124211"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">ALTER</span><span class="w"> </span><span class="k">DEFAULT</span><span class="w"> </span><span class="k">PRIVILEGES</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="k">SCHEMA</span><span class="w"> </span><span class="n">tpcds</span><span class="w"> </span><span class="k">GRANT</span><span class="w"> </span><span class="k">SELECT</span><span class="w"> </span><span class="k">ON</span><span class="w"> </span><span class="n">TABLES</span><span class="w"> </span><span class="k">TO</span><span class="w"> </span><span class="k">PUBLIC</span><span class="p">;</span>
</pre></div></td></tr></table></div>
</div>
</li><li id="EN-US_TOPIC_0000001233510103__li1642316390468">Grant the INSERT permission on all the tables in <strong id="EN-US_TOPIC_0000001233510103__b27033046333529">tpcds</strong> to the user <strong id="EN-US_TOPIC_0000001233510103__b33761733333529">jack</strong>.<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233510103__screen1955012854110"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">ALTER</span><span class="w"> </span><span class="k">DEFAULT</span><span class="w"> </span><span class="k">PRIVILEGES</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="k">SCHEMA</span><span class="w"> </span><span class="n">tpcds</span><span class="w"> </span><span class="k">GRANT</span><span class="w"> </span><span class="k">INSERT</span><span class="w"> </span><span class="k">ON</span><span class="w"> </span><span class="n">TABLES</span><span class="w"> </span><span class="k">TO</span><span class="w"> </span><span class="n">jack</span><span class="p">;</span>
</pre></div></td></tr></table></div>
</div>
</li><li id="EN-US_TOPIC_0000001233510103__li44241139104615">Revoke the preceding permissions.<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233510103__screen1720572724212"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">ALTER</span><span class="w"> </span><span class="k">DEFAULT</span><span class="w"> </span><span class="k">PRIVILEGES</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="k">SCHEMA</span><span class="w"> </span><span class="n">tpcds</span><span class="w"> </span><span class="k">REVOKE</span><span class="w"> </span><span class="k">SELECT</span><span class="w"> </span><span class="k">ON</span><span class="w"> </span><span class="n">TABLES</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">PUBLIC</span><span class="p">;</span><span class="w"> </span>
<span class="k">ALTER</span><span class="w"> </span><span class="k">DEFAULT</span><span class="w"> </span><span class="k">PRIVILEGES</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="k">SCHEMA</span><span class="w"> </span><span class="n">tpcds</span><span class="w"> </span><span class="k">REVOKE</span><span class="w"> </span><span class="k">INSERT</span><span class="w"> </span><span class="k">ON</span><span class="w"> </span><span class="n">TABLES</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">jack</span><span class="p">;</span>
</pre></div></td></tr></table></div>
</div>
</li><li id="EN-US_TOPIC_0000001233510103__li51181410495">Assume that there are two users <strong id="EN-US_TOPIC_0000001233510103__b208230780033529">test1</strong> and <strong id="EN-US_TOPIC_0000001233510103__b167825168233529">test2</strong>. If you require that user <strong id="EN-US_TOPIC_0000001233510103__b67157559633529">test2</strong> can query tables created by user <strong id="EN-US_TOPIC_0000001233510103__b194182892033529">test1</strong>, execute the following statements.<ul id="EN-US_TOPIC_0000001233510103__ul3674142319518"><li id="EN-US_TOPIC_0000001233510103__li832234011373">Create users <strong id="EN-US_TOPIC_0000001233510103__b8848122512368">test1</strong> and <strong id="EN-US_TOPIC_0000001233510103__b38001527173614">test2</strong>:<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233510103__screen1743072380"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">CREATE</span><span class="w"> </span><span class="k">USER</span><span class="w"> </span><span class="n">test1</span><span class="w"> </span><span class="n">PASSWORD</span><span class="w"> </span><span class="s1">'{Password}'</span><span class="p">;</span>
<span class="k">CREATE</span><span class="w"> </span><span class="k">USER</span><span class="w"> </span><span class="n">test2</span><span class="w"> </span><span class="n">PASSWORD</span><span class="w"> </span><span class="s1">'{Password}'</span><span class="p">;</span>
</pre></div></td></tr></table></div>
</div>
</li><li id="EN-US_TOPIC_0000001233510103__li17950317115111">Grant user <strong id="EN-US_TOPIC_0000001233510103__b52941582033529">test2</strong> the schema permission of user <strong id="EN-US_TOPIC_0000001233510103__b105452144833529">test1</strong>.<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233510103__screen126291329194917"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">GRANT</span><span class="w"> </span><span class="k">usage</span><span class="p">,</span><span class="w"> </span><span class="k">create</span><span class="w"> </span><span class="k">ON</span><span class="w"> </span><span class="k">SCHEMA</span><span class="w"> </span><span class="n">test1</span><span class="w"> </span><span class="k">TO</span><span class="w"> </span><span class="n">test2</span><span class="p">;</span>
</pre></div></td></tr></table></div>
</div>
</li><li id="EN-US_TOPIC_0000001233510103__li1483210541514">Grant user <strong id="EN-US_TOPIC_0000001233510103__b129992065533529">test2</strong> the table query permission of user <strong id="EN-US_TOPIC_0000001233510103__b182274062133529">test1</strong>.<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233510103__screen53201390528"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">ALTER</span><span class="w"> </span><span class="k">DEFAULT</span><span class="w"> </span><span class="k">PRIVILEGES</span><span class="w"> </span><span class="k">FOR</span><span class="w"> </span><span class="k">USER</span><span class="w"> </span><span class="n">test1</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="k">SCHEMA</span><span class="w"> </span><span class="n">test1</span><span class="w"> </span><span class="k">GRANT</span><span class="w"> </span><span class="k">SELECT</span><span class="w"> </span><span class="k">ON</span><span class="w"> </span><span class="n">tables</span><span class="w"> </span><span class="k">TO</span><span class="w"> </span><span class="n">test2</span><span class="p">;</span>
</pre></div></td></tr></table></div>
</div>
</li><li id="EN-US_TOPIC_0000001233510103__li1349841125314">Create a table as user <strong id="EN-US_TOPIC_0000001233510103__b113086128133529">test1</strong>.<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233510103__screen175816165412"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SET</span><span class="w"> </span><span class="k">ROLE</span><span class="w"> </span><span class="n">test1</span><span class="w"> </span><span class="n">password</span><span class="w"> </span><span class="s1">'{Password}'</span><span class="p">;</span>
<span class="k">CREATE</span><span class="w"> </span><span class="k">TABLE</span><span class="w"> </span><span class="n">test3</span><span class="p">(</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="nb">int</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="nb">int</span><span class="p">);</span>
</pre></div></td></tr></table></div>
</div>
</li><li id="EN-US_TOPIC_0000001233510103__li7590613135416">Run the following statement as user <strong id="EN-US_TOPIC_0000001233510103__b154268652633529">test2</strong>.<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233510103__screen1315328105418"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SET</span><span class="w"> </span><span class="k">ROLE</span><span class="w"> </span><span class="n">test2</span><span class="w"> </span><span class="n">password</span><span class="w"> </span><span class="s1">'{Password}'</span><span class="p">;</span>
<span class="k">SELECT</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">test1</span><span class="p">.</span><span class="n">test3</span><span class="p">;</span>
</pre></div></td></tr></table></div>
</div>
</li></ul>
</li></ul>
</div>
<div class="section" id="EN-US_TOPIC_0000001233510103__sfa551b212e794c67ab216e249e230617"><h4 class="sectiontitle">Helpful Links</h4><p id="EN-US_TOPIC_0000001233510103__a18df40e242c94cf9a0b85f896da6231d"><a href="dws_06_0250.html">GRANT</a>, <a href="dws_06_0253.html">REVOKE</a></p>
</div>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="dws_06_0242.html">DCL Syntax</a></div>
</div>
</div>