doc-exports/docs/dws/dev/dws_04_0584.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

81 lines
12 KiB
HTML

<a name="EN-US_TOPIC_0000001188323536"></a><a name="EN-US_TOPIC_0000001188323536"></a>
<h1 class="topictitle1">PG_DEFAULT_ACL</h1>
<div id="body8662426"><p id="EN-US_TOPIC_0000001188323536__a0778ec2d85264beab80d790671c6393e"><strong id="EN-US_TOPIC_0000001188323536__b363564934513">PG_DEFAULT_ACL</strong> records the initial privileges assigned to the newly created objects.</p>
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" id="EN-US_TOPIC_0000001188323536__t680823ed10864bf0ad41bfbcbc1e1150" frame="border" border="1" rules="all"><caption><b>Table 1 </b>PG_DEFAULT_ACL columns</caption><thead align="left"><tr id="EN-US_TOPIC_0000001188323536__rc82ac865887a4b0dbba7246c2d2baf36"><th align="left" class="cellrowborder" valign="top" width="29.720000000000002%" id="mcps1.3.2.2.4.1.1"><p id="EN-US_TOPIC_0000001188323536__a5a887af822ca43a1835252b54b8b594b"><strong id="EN-US_TOPIC_0000001188323536__b84235270691445">Name</strong></p>
</th>
<th align="left" class="cellrowborder" valign="top" width="16.919999999999998%" id="mcps1.3.2.2.4.1.2"><p id="EN-US_TOPIC_0000001188323536__a516d49d3175b4713bf053b887eb30769">Type</p>
</th>
<th align="left" class="cellrowborder" valign="top" width="53.36%" id="mcps1.3.2.2.4.1.3"><p id="EN-US_TOPIC_0000001188323536__adeb1c9b4fd9344359135ad1abdf4c1ee">Description</p>
</th>
</tr>
</thead>
<tbody><tr id="EN-US_TOPIC_0000001188323536__rb320c3b8a7ec40a288c8bef734159760"><td class="cellrowborder" valign="top" width="29.720000000000002%" headers="mcps1.3.2.2.4.1.1 "><p id="EN-US_TOPIC_0000001188323536__a52b0e34141d64d4b8b6d997ce189a19e">defaclrole</p>
</td>
<td class="cellrowborder" valign="top" width="16.919999999999998%" headers="mcps1.3.2.2.4.1.2 "><p id="EN-US_TOPIC_0000001188323536__a3536b12ae6c540e0a78d639336497939">oid</p>
</td>
<td class="cellrowborder" valign="top" width="53.36%" headers="mcps1.3.2.2.4.1.3 "><p id="EN-US_TOPIC_0000001188323536__a410e55c705fa4e5ca744841a11b30671">ID of the role associated with the permission</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001188323536__r1bd923a1c2504acf9f08160a6796ed6f"><td class="cellrowborder" valign="top" width="29.720000000000002%" headers="mcps1.3.2.2.4.1.1 "><p id="EN-US_TOPIC_0000001188323536__a050606e5e5bb4576929228af64b1643b">defaclnamespace</p>
</td>
<td class="cellrowborder" valign="top" width="16.919999999999998%" headers="mcps1.3.2.2.4.1.2 "><p id="EN-US_TOPIC_0000001188323536__aeefb9977844f43cd982e9504c602c02c">oid</p>
</td>
<td class="cellrowborder" valign="top" width="53.36%" headers="mcps1.3.2.2.4.1.3 "><p id="EN-US_TOPIC_0000001188323536__a7b25794a08f74700878bf659a247e594">Namespace associated with the permission; the value is <strong id="EN-US_TOPIC_0000001188323536__b842352706193813">0</strong> if no ID</p>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001188323536__r1636ac874c63478db1fe755557370561"><td class="cellrowborder" valign="top" width="29.720000000000002%" headers="mcps1.3.2.2.4.1.1 "><p id="EN-US_TOPIC_0000001188323536__a804f244dfaac44c4be7f25c7cc6c99ed">defaclobjtype</p>
</td>
<td class="cellrowborder" valign="top" width="16.919999999999998%" headers="mcps1.3.2.2.4.1.2 "><p id="EN-US_TOPIC_0000001188323536__a8dc55d52ee8c4490aee4a72755065327">"char"</p>
</td>
<td class="cellrowborder" valign="top" width="53.36%" headers="mcps1.3.2.2.4.1.3 "><p id="EN-US_TOPIC_0000001188323536__abf9499cac08e4b2b8803b1bc33c8a57e">Object type of the permission:</p>
<ul id="EN-US_TOPIC_0000001188323536__ul13146134032917"><li id="EN-US_TOPIC_0000001188323536__li714654052918"><strong id="EN-US_TOPIC_0000001188323536__b19386432102516">r</strong> indicates a table or view.</li><li id="EN-US_TOPIC_0000001188323536__li914614032918"><strong id="EN-US_TOPIC_0000001188323536__b2096153712515">S</strong> indicates a sequence.</li><li id="EN-US_TOPIC_0000001188323536__li1914614062917"><strong id="EN-US_TOPIC_0000001188323536__b10979134312511">f</strong> indicates a function.</li><li id="EN-US_TOPIC_0000001188323536__li8146440122914"><strong id="EN-US_TOPIC_0000001188323536__b13811245152511">T</strong> indicates a type.</li></ul>
</td>
</tr>
<tr id="EN-US_TOPIC_0000001188323536__rbca50d097ce5419283cb1d9bc080c87f"><td class="cellrowborder" valign="top" width="29.720000000000002%" headers="mcps1.3.2.2.4.1.1 "><p id="EN-US_TOPIC_0000001188323536__a83a87be450df49cc9a5da20753a975ad">defaclacl</p>
</td>
<td class="cellrowborder" valign="top" width="16.919999999999998%" headers="mcps1.3.2.2.4.1.2 "><p id="EN-US_TOPIC_0000001188323536__a899d1e941c694c2586f6afc2c70496d0">aclitem[]</p>
</td>
<td class="cellrowborder" valign="top" width="53.36%" headers="mcps1.3.2.2.4.1.3 "><p id="EN-US_TOPIC_0000001188323536__a506669bfe41e4d94838d37d6139dbd7f">Access permissions that this type of object should have on creation</p>
</td>
</tr>
</tbody>
</table>
</div>
<div class="section" id="EN-US_TOPIC_0000001188323536__section69458541402"><h4 class="sectiontitle">Examples</h4><p id="EN-US_TOPIC_0000001188323536__p1562775984014">Run the following command to view the initial permissions of the new user <strong id="EN-US_TOPIC_0000001188323536__b32811315813">role1</strong>:</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001188323536__screen2067283512411"><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">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">PG_DEFAULT_ACL</span><span class="p">;</span>
<span class="w"> </span><span class="n">defaclrole</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">defaclnamespace</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">defaclobjtype</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">defaclacl</span>
<span class="c1">------------+-----------------+---------------+-----------------</span>
<span class="w"> </span><span class="mi">16820</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">16822</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">r</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="err">{</span><span class="n">role1</span><span class="o">=</span><span class="n">r</span><span class="o">/</span><span class="n">user1</span><span class="err">}</span>
</pre></div></td></tr></table></div>
</div>
<p id="EN-US_TOPIC_0000001188323536__p2957146194310">You can also run the following statement to convert the format:</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001188323536__screen1828395113475"><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">pg_catalog</span><span class="p">.</span><span class="n">pg_get_userbyid</span><span class="p">(</span><span class="n">d</span><span class="p">.</span><span class="n">defaclrole</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="ss">&quot;Granter&quot;</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">AS</span><span class="w"> </span><span class="ss">&quot;Schema&quot;</span><span class="p">,</span><span class="w"> </span><span class="k">CASE</span><span class="w"> </span><span class="n">d</span><span class="p">.</span><span class="n">defaclobjtype</span><span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="s1">'r'</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="s1">'table'</span><span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="s1">'S'</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="s1">'sequence'</span><span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="s1">'f'</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="s1">'function'</span><span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="s1">'T'</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="s1">'type'</span><span class="w"> </span><span class="k">END</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="ss">&quot;Type&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">pg_catalog</span><span class="p">.</span><span class="n">array_to_string</span><span class="p">(</span><span class="n">d</span><span class="p">.</span><span class="n">defaclacl</span><span class="p">,</span><span class="w"> </span><span class="n">E</span><span class="s1">', '</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="ss">&quot;Access privileges&quot;</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">pg_catalog</span><span class="p">.</span><span class="n">pg_default_acl</span><span class="w"> </span><span class="n">d</span><span class="w"> </span><span class="k">LEFT</span><span class="w"> </span><span class="k">JOIN</span><span class="w"> </span><span class="n">pg_catalog</span><span class="p">.</span><span class="n">pg_namespace</span><span class="w"> </span><span class="n">n</span><span class="w"> </span><span class="k">ON</span><span class="w"> </span><span class="n">n</span><span class="p">.</span><span class="n">oid</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">d</span><span class="p">.</span><span class="n">defaclnamespace</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">;</span>
</pre></div></td></tr></table></div>
</div>
<p id="EN-US_TOPIC_0000001188323536__p16240323124810">If the following information is displayed, <strong id="EN-US_TOPIC_0000001188323536__b17823173313582">user1</strong> grants <strong id="EN-US_TOPIC_0000001188323536__b1069843910584">role1</strong> the read permission on schema <strong id="EN-US_TOPIC_0000001188323536__b681414315812">user1</strong>.</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001188323536__screen161481144104815"><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="w"> </span><span class="n">Granter</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">Schema</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">Type</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">Access</span><span class="w"> </span><span class="k">privileges</span>
<span class="c1">---------+--------+-------+-------------------</span>
<span class="w"> </span><span class="n">user1</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">user1</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">table</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">role1</span><span class="o">=</span><span class="n">r</span><span class="o">/</span><span class="n">user1</span>
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
</pre></div></td></tr></table></div>
</div>
</div>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="dws_04_0561.html">System Catalogs</a></div>
</div>
</div>