AlloyDB Omni user role overview

This page describes how AlloyDB Omni on a VM works with PostgreSQL roles. This page assumes that you are familiar with PostgreSQL.

An AlloyDB Omni database uses the standard PostgreSQL concept of roles. A role can act as a database user, a group of users, or both.

A user role has the LOGIN privilege that lets users sign in to the AlloyDB Omni system. A group role has member roles with various privileges, which you can grant to or revoke from all members at once.

AlloyDB Omni predefined PostgreSQL roles

PostgreSQL has a set of predefined roles with various privileges. AlloyDB Omni adds several user and group roles to this set of PostgreSQL's predefined roles.

The following table lists the PostgreSQL roles that AlloyDB Omni predefines:

Role name Privileges
alloydbadmin SUPERUSER (which includes CREATEROLE, CREATEDB, and LOGIN).
alloydbmetadata By default, this role does not have any privileges.

In addition, AlloyDB Omni reserves the following role names that are unused but may be used in the future.

Role name Privileges
alloydbagent NOLOGIN
alloydbexport NOLOGIN
alloydbiamgroupuser NOLOGIN
alloydbiamuser NOLOGIN
alloydbimportexport NOLOGIN
alloydbobservability NOLOGIN
alloydbreplica NOLOGIN
alloydbsqllogical NOLOGIN
alloydbsuperuser NOLOGIN

The alloydbadmin user role

The alloydbadmin role is a predefined role that sets up the database system and performs other superuser tasks. This role has the following privileges:

  • Create extensions that require superuser privileges
  • Create event triggers
  • Create replication users
  • Create replication publications and subscriptions

This role is only used by AlloyDB Omni internal tools and shouldn't be used by users.

The alloydbmetadata role

The alloydbmetadata role is a predefined role with fewer privileges, also used by AlloyDB Omni internally. Similar to alloydbadmin, this role shouldn't be used by other users.

What's next