Skip to content

Role

A role is an entity that can own database objects and have database privileges.

Properties

Property Type Required Description
name string — Role Name.
comment string — An optional comment about the role.
security_labels security_labels — Security Labels.
create boolean — Used in special cases where a role should be definied, but not created, such as "PUBLIC". Default: true.
environments array of (DEVELOPMENT | STAGING | TESTING | PRODUCTION) — Used to limit the environments the role is created in. The default value is all environments. Entries must be unique.
grants acls — ACLs to add to the role.
revocations acls — ACLs to remove from the role.
options object — —
settings array of object — Configuration parameters to be set to the specified value when the role starts a session, one object for each parameter. A value is a string, a number or a boolean. A setting that PostgreSQL keeps as a list of names, such as search_path, is a list of strings, one name for each item. For such a setting, one string with a comma is an error, because PostgreSQL reads it as one name. A list has at least one item.

options

Property Type Required Description
bypass_rls boolean — These clauses determine whether a role bypasses every row-level security (RLS) policy. Default: false.
connection_limit integer — If role can log in, this specifies how many concurrent connections the role can make. -1 (the default) means no limit. Default: -1.
create_db boolean — Determines if the role is allowed to create databases. Default: false.
create_role boolean — These clauses determine whether a role will be permitted to create a new group, role or user. Default: false.
inherit boolean — These clauses determine whether a role "inherits" the privileges of roles it is a member of. Default: false.
login boolean — These clauses determine whether a role is allowed to log in; that is, whether the role can be given as the initial session authorization name during client connection. Default: false.
replication boolean — These clauses determine whether a role is allowed to initiate streaming replication or put the system in and out of backup mode. A role having the REPLICATION attribute is a very highly privileged role, and should only be used on roles actually used for replication. Default: false.
superuser boolean — These clauses determine whether the new role is a "superuser", who can override all access restrictions within the database. Superuser status is dangerous and should be used only when really needed. Default: false.

No other properties are accepted.


Source: schemata/role.yml · Resolved JSON Schema: role.json