<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>OpenText Analytics Database 26.2.x – Predefined database roles</title>
    <link>/en/admin/db-users-and-privileges/db-roles/predefined-db-roles/</link>
    <description>Recent content in Predefined database roles on OpenText Analytics Database 26.2.x</description>
    <generator>Hugo -- gohugo.io</generator>
    
	  <atom:link href="/en/admin/db-users-and-privileges/db-roles/predefined-db-roles/index.xml" rel="self" type="application/rss+xml" />
    
    
      
        
      
    
    
    <item>
      <title>Admin: DBADMIN</title>
      <link>/en/admin/db-users-and-privileges/db-roles/predefined-db-roles/dbadmin/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/en/admin/db-users-and-privileges/db-roles/predefined-db-roles/dbadmin/</guid>
      <description>
        
        
        &lt;p&gt;The &lt;code&gt;DBADMIN&lt;/code&gt; role is a predefined role that is assigned to the &lt;a href=&#34;../../../../../en/admin/db-users-and-privileges/db-users/types-of-db-users/db-admin-user/&#34;&gt;&lt;code&gt;dbadmin&lt;/code&gt; user&lt;/a&gt; on database installation. Thereafter, the &lt;code&gt;dbadmin&lt;/code&gt; user and users with the 
&lt;code&gt;&lt;a href=&#34;../../../../../en/admin/db-users-and-privileges/db-roles/predefined-db-roles/pseudosuperuser/#&#34;&gt;PSEUDOSUPERUSER&lt;/a&gt;&lt;/code&gt; role can grant any role to any user or non-predefined role.&lt;/p&gt;
&lt;p&gt;For example, superuser &lt;code&gt;dbadmin&lt;/code&gt; creates role &lt;code&gt;fred&lt;/code&gt; and grants &lt;code&gt;fred&lt;/code&gt; the &lt;code&gt;DBADMIN&lt;/code&gt; role:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; CREATE USER fred;
CREATE USER
=&amp;gt; GRANT DBADMIN TO fred WITH ADMIN OPTION;
GRANT ROLE
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;After user &lt;code&gt;fred&lt;/code&gt; &lt;a href=&#34;../../../../../en/admin/db-users-and-privileges/db-roles/enabling-roles/&#34;&gt;enables&lt;/a&gt; its &lt;code&gt;DBADMIN role&lt;/code&gt;, he can exercise his &lt;code&gt;DBADMIN&lt;/code&gt; privileges by creating user &lt;code&gt;alice&lt;/code&gt;. Because the &lt;code&gt;GRANT&lt;/code&gt; statement includes &lt;code&gt;WITH ADMIN OPTION&lt;/code&gt;, &lt;code&gt;fred&lt;/code&gt; can also grant the &lt;code&gt;DBADMIN&lt;/code&gt; role to user &lt;code&gt;alice&lt;/code&gt;:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;
=&amp;gt; \c - fred
You are now connected as user &amp;#34;fred&amp;#34;.
=&amp;gt; SET ROLE dbadmin;
SET
CREATE USER alice;
CREATE USER
=&amp;gt; GRANT DBADMIN TO alice;
GRANT ROLE
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;dbadmin-privileges&#34;&gt;DBADMIN privileges&lt;/h2&gt;
&lt;p&gt;The following table lists privileges that are supported for the DBADMIN role:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Create users and roles, and grant them roles and privileges&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Create and drop schemas&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;View all system tables&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;View and terminate user sessions&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Access all data created by any user&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

      </description>
    </item>
    
    <item>
      <title>Admin: PSEUDOSUPERUSER</title>
      <link>/en/admin/db-users-and-privileges/db-roles/predefined-db-roles/pseudosuperuser/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/en/admin/db-users-and-privileges/db-roles/predefined-db-roles/pseudosuperuser/</guid>
      <description>
        
        
        &lt;p&gt;The &lt;code&gt;PSEUDOSUPERUSER&lt;/code&gt; role is a predefined role that is automatically assigned to the &lt;code&gt;dbadmin&lt;/code&gt; user on database installation. The &lt;code&gt;dbadmin&lt;/code&gt; can grant this role to any user or non-predefined role. Thereafter, &lt;code&gt;PSEUDOSUPERUSER&lt;/code&gt; users can grant any role, including predefined roles, to other users.&lt;/p&gt;
&lt;h2 id=&#34;pseudosuperuser-privileges&#34;&gt;PSEUDOSUPERUSER privileges&lt;/h2&gt;
&lt;p&gt;Users with the &lt;code&gt;PSEUDOSUPERUSER&lt;/code&gt; role are entitled to complete administrative privileges, which cannot be revoked. Role privileges include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Bypass all GRANT/REVOKE authorization&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Create schemas and tables&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Create users and roles, and grant privileges to them&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Modify user accounts—for example, set user account&#39;s passwords, and lock/unlock accounts.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Create or drop a UDF library and function, or any external procedure&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

      </description>
    </item>
    
    <item>
      <title>Admin: DBDUSER</title>
      <link>/en/admin/db-users-and-privileges/db-roles/predefined-db-roles/dbduser/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/en/admin/db-users-and-privileges/db-roles/predefined-db-roles/dbduser/</guid>
      <description>
        
        
        &lt;p&gt;The &lt;code&gt;DBDUSER&lt;/code&gt; role is a predefined role that is assigned to the &lt;a href=&#34;../../../../../en/admin/db-users-and-privileges/db-users/types-of-db-users/db-admin-user/&#34;&gt;&lt;code&gt;dbadmin&lt;/code&gt; user&lt;/a&gt; on database installation. The &lt;code&gt;dbadmin&lt;/code&gt; and any &lt;code&gt;PSEUDOSUPERUSER&lt;/code&gt; can grant this role to any user or non-predefined role. Users who have this role and enable it can call &lt;a href=&#34;../../../../../en/admin/configuring-db/creating-db-design/running-db-designer-programmatically/&#34;&gt;Database Designer functions&lt;/a&gt; from the command line.

&lt;div class=&#34;alert admonition note&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;admonition-head&#34;&gt;Note&lt;/h4&gt;

Non-DBADMIN users with the DBDUSER role cannot run Database Designer through Administration Tools. Only &lt;a href=&#34;../../../../../en/admin/db-users-and-privileges/db-users/types-of-db-users/db-admin-user/&#34;&gt;DBADMIN&lt;/a&gt; users can run Administration Tools.

&lt;/div&gt;&lt;/p&gt;
&lt;h2 id=&#34;associating-dbduser-with-resource-pools&#34;&gt;Associating DBDUSER with resource pools&lt;/h2&gt;
&lt;p&gt;Be sure to associate a resource pool with the &lt;code&gt;DBDUSER&lt;/code&gt; role, to facilitate resource management when you run Database Designer. Multiple users can run Database Designer concurrently without interfering with each other or exhausting all the cluster resources. Whether you run Database Designer programmatically or with Administration Tools, design execution is generally contained by the user&#39;s resource pool, but might spill over into system resource pools for less-intensive tasks.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Admin: SYSMONITOR</title>
      <link>/en/admin/db-users-and-privileges/db-roles/predefined-db-roles/sysmonitor/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/en/admin/db-users-and-privileges/db-roles/predefined-db-roles/sysmonitor/</guid>
      <description>
        
        
        &lt;p&gt;An organization&#39;s database administrator may have many responsibilities outside of maintaining the database as a DBADMIN user. In this case, as the DBADMIN you may want to delegate some administrative tasks to another user.&lt;/p&gt;
&lt;p&gt;The DBADMIN can assign a delegate the SYSMONITOR role to grant access to system tables without granting full &lt;a href=&#34;../../../../../en/admin/db-users-and-privileges/db-roles/predefined-db-roles/dbadmin/&#34;&gt;DBADMIN&lt;/a&gt; access.&lt;/p&gt;
&lt;p&gt;The SYSMONITOR role provides the following privileges.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;View all system tables that are marked as monitorable. You can see a list of all the monitorable tables by issuing the statement:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; SELECT * FROM system_tables WHERE is_monitorable=&amp;#39;t&amp;#39;;
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;If &lt;code&gt;WITH ADMIN OPTION&lt;/code&gt; was included when granting SYSMONITOR to the user or role, that user or role can then grant SYSMONITOR privileges to other users and roles.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;grant-a-sysmonitor-role&#34;&gt;Grant a SYSMONITOR role&lt;/h2&gt;
&lt;p&gt;To grant a user or role the SYSMONITOR role, you must be one of the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;a DBADMIN user&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;a user assigned the SYSMONITOR who has the ADMIN OPTION&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Use the &lt;a href=&#34;../../../../../en/sql-reference/statements/grant-statements/grant-role/&#34;&gt;GRANT (Role)&lt;/a&gt; SQL statement to assign a user the SYSMONITOR role. This example shows how to grant the SYSMONITOR role to user1 and includes administration privileges by using the WITH ADMIN OPTION parameter. The ADMIN OPTION grants the SYSMONITOR role administrative privileges:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; GRANT SYSMONITOR TO user1 WITH ADMIN OPTION;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;This example shows how to revoke the ADMIN OPTION from the SYSMONITOR role for user1:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; REVOKE ADMIN OPTION for SYSMONITOR FROM user1;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Use CASCADE to revoke ADMIN OPTION privileges for all users assigned the SYSMONITOR role:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; REVOKE ADMIN OPTION for SYSMONITOR FROM PUBLIC CASCADE;
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;example&#34;&gt;Example&lt;/h2&gt;
&lt;p&gt;This example shows how to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Create a user&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Create a role&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Grant SYSMONITOR privileges to the new role&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Grant the role to the user&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; CREATE USER user1;
=&amp;gt; CREATE ROLE monitor;
=&amp;gt; GRANT SYSMONITOR TO monitor;
=&amp;gt; GRANT monitor TO user1;
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;assign-sysmonitor-privileges&#34;&gt;Assign SYSMONITOR privileges&lt;/h2&gt;
&lt;p&gt;This example uses the user and role created in the Grant SYSMONITOR Role example and shows how to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Create a table called personal_data&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Log in as user1&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Grant user1 the monitor role. (You already granted the monitor SYSMONITOR privileges in the Grant a SYSMONITOR Role example.)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Run a SELECT statement as user1&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The results of the operations are based on the privilege already granted to user1.&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; CREATE TABLE personal_data (SSN varchar (256));
=&amp;gt; \c -user1;
=&amp;gt; SET ROLE monitor;
=&amp;gt; SELECT COUNT(*) FROM TABLES;
 COUNT
-------
 1
(1 row)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Because you assigned the SYSMONITOR role, user1 can see the number of rows in the Tables system table. In this simple example, there is only one table (personal_data) in the database so the SELECT COUNT returns one row. In actual conditions, the SYSMONITOR role would see all the tables in the database.&lt;/p&gt;
&lt;h2 id=&#34;check-if-a-table-is-accessible-by-sysmonitor&#34;&gt;Check if a table is accessible by SYSMONITOR&lt;/h2&gt;
&lt;p&gt;To check if a system table can be accessed by a user assigned the SYSMONITOR role:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; SELECT table_name, is_monitorable FROM system_tables WHERE table_name=&amp;#39;&lt;span class=&#34;code-variable&#34;&gt;table_name&lt;/span&gt;&amp;#39;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;For example, the following statement shows that the &lt;a href=&#34;../../../../../en/sql-reference/system-tables/v-monitor-schema/current-session/#&#34;&gt;CURRENT_SESSION&lt;/a&gt; system table is accessible by the SYSMONITOR:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; SELECT table_name, is_monitorable FROM system_tables WHERE table_name=&amp;#39;current_session&amp;#39;;
   table_name    | is_monitorable
-----------------+----------------
 current_session | t
(1 row)
&lt;/code&gt;&lt;/pre&gt;
      </description>
    </item>
    
    <item>
      <title>Admin: UDXDEVELOPER</title>
      <link>/en/admin/db-users-and-privileges/db-roles/predefined-db-roles/udxdeveloper/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/en/admin/db-users-and-privileges/db-roles/predefined-db-roles/udxdeveloper/</guid>
      <description>
        
        
        &lt;p&gt;The UDXDEVELOPER role is a predefined role that enables users to create and replace user-defined libraries. The &lt;code&gt;dbadmin&lt;/code&gt; can grant this role to any user or non-predefined role.&lt;/p&gt;
&lt;h2 id=&#34;udxdeveloper-privileges&#34;&gt;UDXDEVELOPER privileges&lt;/h2&gt;
&lt;p&gt;Users with the UDXDEVELOPER role can perform the following actions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href=&#34;../../../../../en/sql-reference/statements/create-statements/create-library/#&#34;&gt;CREATE LIBRARY&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;If library owner or with the DROP privilege:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;CREATE OR REPLACE LIBRARY&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;../../../../../en/sql-reference/statements/drop-statements/drop-library/#&#34;&gt;DROP LIBRARY&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;../../../../../en/sql-reference/statements/alter-statements/alter-library/#&#34;&gt;ALTER LIBRARY&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To use the privileges of this role, you must explicitly enable it using &lt;a href=&#34;../../../../../en/sql-reference/statements/set-statements/set-role/#&#34;&gt;SET ROLE&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;security-considerations&#34;&gt;Security considerations&lt;/h2&gt;
&lt;p&gt;A user with the UDXDEVELOPER role can create libraries and, therefore, can install any UDx function in the database. UDx functions run as the Linux user that owns the database, and therefore have access to resources that the database has access to.&lt;/p&gt;
&lt;p&gt;A poorly-written function can degrade database performance. Give this role only to users you trust to use UDxs responsibly. You can limit the memory that a UDx can consume by running UDxs in fenced mode and by setting the &lt;a href=&#34;../../../../../en/sql-reference/config-parameters/general-parameters/#FencedUDxMemoryLimitMB&#34;&gt;FencedUDxMemoryLimitMB&lt;/a&gt; configuration parameter.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Admin: MLSUPERVISOR</title>
      <link>/en/admin/db-users-and-privileges/db-roles/predefined-db-roles/mlsupervisor/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/en/admin/db-users-and-privileges/db-roles/predefined-db-roles/mlsupervisor/</guid>
      <description>
        
        
        &lt;p&gt;The &lt;code&gt;MLSUPERVISOR&lt;/code&gt; role is a predefined role to which all the ML-model management privileges of &lt;a href=&#34;../../../../../en/admin/db-users-and-privileges/db-roles/predefined-db-roles/dbadmin/&#34;&gt;DBADMIN&lt;/a&gt; are delegated. An &lt;code&gt;MLSUPERVISOR&lt;/code&gt; can manage all models in the &lt;code&gt;V_CATALOG.MODELS&lt;/code&gt; table on behalf of &lt;code&gt;dbadmin&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;In the following example, user &lt;code&gt;alice&lt;/code&gt; uses her &lt;code&gt;MLSUPERVISOR&lt;/code&gt; privileges to reassign ownership of the model &lt;code&gt;my_model&lt;/code&gt; from user &lt;code&gt;bob&lt;/code&gt; to user &lt;code&gt;nina&lt;/code&gt;:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;
=&amp;gt; \c - alice
You are now connected as user &amp;#34;alice&amp;#34;.

=&amp;gt; SELECT model_name, schema_name, owner_name FROM models;
 model_name  | schema_name | owner_name
-------------+-------------+------------
 my_model    | public      | bob
 mylinearreg | myschema2   | alice
 (2 rows)

=&amp;gt; SET ROLE MLSUPERVISOR;

=&amp;gt; ALTER MODEL my_model OWNER to nina;

=&amp;gt; SELECT model_name, schema_name, owner_name FROM models;
 model_name  | schema_name | owner_name
-------------+-------------+------------
 my_model    | public      | nina
 mylinearreg | myschema2   | alice
 (2 rows)

=&amp;gt; DROP MODEL my_model;
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;mlsupervisor-privileges&#34;&gt;MLSUPERVISOR privileges&lt;/h2&gt;
&lt;p&gt;The following privileges are supported for the MLSUPERVISOR role:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;ML-model management privileges of DBADMIN&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Management (USAGE, ALTER, DROP) of all models in V_CATALOG.MODELS&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To use the privileges of this role, you must explicitly enable it using &lt;a href=&#34;../../../../../en/sql-reference/statements/set-statements/set-role/&#34;&gt;SET ROLE&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;see-also&#34;&gt;See also&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href=&#34;../../../../../en/data-analysis/ml-predictive-analytics/model-management/model-versioning/#&#34;&gt;Model versioning&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;../../../../../en/sql-reference/functions/ml-functions/model-management/register-model/#&#34;&gt;REGISTER_MODEL&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;../../../../../en/sql-reference/functions/ml-functions/model-management/change-model-status/#&#34;&gt;CHANGE_MODEL_STATUS&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

      </description>
    </item>
    
    <item>
      <title>Admin: PUBLIC</title>
      <link>/en/admin/db-users-and-privileges/db-roles/predefined-db-roles/public/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/en/admin/db-users-and-privileges/db-roles/predefined-db-roles/public/</guid>
      <description>
        
        
        &lt;p&gt;The &lt;code&gt;PUBLIC&lt;/code&gt; role is a predefined role that is automatically assigned to all new users. It is always &lt;a href=&#34;../../../../../en/admin/db-users-and-privileges/db-roles/enabling-roles/&#34;&gt;enabled&lt;/a&gt; and cannot be dropped or revoked. The &lt;code&gt;PUBLIC&lt;/code&gt; role is implicit and is not displayed in user role columns. Use this role to grant all database users the same minimum set of privileges.&lt;/p&gt;
&lt;p&gt;Like any role, the &lt;code&gt;PUBLIC&lt;/code&gt; role can be granted privileges to individual objects and other roles. The following example grants the &lt;code&gt;PUBLIC&lt;/code&gt; role INSERT and SELECT privileges on table &lt;code&gt;publicdata&lt;/code&gt;. This enables all users to read data in that table and insert new data:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; CREATE TABLE publicdata (a INT, b VARCHAR);
CREATE TABLE
=&amp;gt; GRANT INSERT, SELECT ON publicdata TO PUBLIC;
GRANT PRIVILEGE
=&amp;gt; CREATE PROJECTION publicdataproj AS (SELECT * FROM publicdata);
CREATE PROJECTION
=&amp;gt; \c - bob
You are now connected as user &amp;#34;bob&amp;#34;.
=&amp;gt; INSERT INTO publicdata VALUES (10, &amp;#39;Hello World&amp;#39;);
OUTPUT
--------
      1
(1 row)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The following example grants &lt;code&gt;PUBLIC&lt;/code&gt; the &lt;code&gt;employee&lt;/code&gt; role, so all database users have &lt;code&gt;employee&lt;/code&gt; privileges:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; GRANT employee TO public;
GRANT ROLE
&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&#34;admonition important&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;admonition-head&#34;&gt;Important&lt;/h4&gt;
The clause &lt;code&gt;WITH ADMIN OPTION&lt;/code&gt; is invalid for any &lt;code&gt;GRANT&lt;/code&gt; statement that specifies &lt;code&gt;PUBLIC&lt;/code&gt; as grantee.
&lt;/div&gt;

      </description>
    </item>
    
  </channel>
</rss>
