52.28. pg\_init\_privs

|     52.28. `pg_init_privs`     |                   |                           |                  |                                 |
|:------------------------------:|-------------------|---------------------------|------------------|---------------------------------|
|[Prev](catalog-pg-inherits.html)|[Up](catalogs.html)|Chapter 52. System Catalogs|[Home](index.html)| [Next](catalog-pg-language.html)|

---

## 52.28. `pg_init_privs`

[]()

 The catalog `pg_init_privs` records information about the initial privileges of objects in the system. There is one entry for each object in the database which has a non-default (non-NULL) initial set of privileges.

 Objects can have initial privileges either by having those privileges set when the system is initialized (by initdb) or when the object is created during a [`CREATE EXTENSION`](sql-createextension.html) and the extension script sets initial privileges using the [`GRANT`](sql-grant.html) system. Note that the system will automatically handle recording of the privileges during the extension script and that extension authors need only use the `GRANT` and `REVOKE` statements in their script to have the privileges recorded. The `privtype` column indicates if the initial privilege was set by initdb or during a `CREATE EXTENSION` command.

 Objects which have initial privileges set by initdb will have entries where `privtype` is `'i'`, while objects which have initial privileges set by `CREATE EXTENSION` will have entries where `privtype` is `'e'`.

**Table 52.28. `pg_init_privs` Columns**

|                                                                         Column Type<br/><br/> Description                                                                         |
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|                                                `objoid` `oid` (references any OID column)<br/><br/> The OID of the specific object                                                |
|                         `classoid` `oid` (references [`pg_class`](catalog-pg-class.html).`oid`)<br/><br/> The OID of the system catalog the object is in                          |
|`objsubid` `int4`<br/><br/> For a table column, this is the column number (the `objoid` and `classoid` refer to the table itself). For all other object types, this column is zero.|
|                                        `privtype` `char`<br/><br/> A code defining the type of initial privilege of this object; see text                                         |
|                                   `initprivs` `aclitem[]`<br/><br/> The initial access privileges; see [Section 5.7](ddl-priv.html) for details                                   |

---

|[Prev](catalog-pg-inherits.html)|[Up](catalogs.html)| [Next](catalog-pg-language.html)|
|:-------------------------------|:-----------------:|--------------------------------:|
|      52.27. `pg_inherits`      |[Home](index.html) |       52.29. `pg_language`      |

 // \<![CDATA[ \<-- For SVG support if ('WebSocket' in window) { (function() { function refreshCSS() { var sheets = [].slice.call(document.getElementsByTagName("link")); var head = document.getElementsByTagName("head")[0]; for (var i = 0; i \< sheets.length; ++i) { var elem = sheets[i]; head.removeChild(elem); var rel = elem.rel; if (elem.href && typeof rel != "string" || rel.length == 0 || rel.toLowerCase() == "stylesheet") { var url = elem.href.replace(/(&|\\?)\_cacheOverride=\\d+/, ''); elem.href = url + (url.indexOf('?') \>= 0 ? '&' : '?') + '\_cacheOverride=' + (new Date().valueOf()); } head.appendChild(elem); } } var protocol = window.location.protocol === 'http:' ? 'ws://' : 'wss://'; var address = protocol + window.location.host + window.location.pathname + '/ws'; var socket = new WebSocket(address); socket.onmessage = function(msg) { if (msg.data == 'reload') window.location.reload(); else if (msg.data == 'refreshcss') refreshCSS(); }; console.log('Live reload enabled.'); })(); } // ]]\>