Skip to content

Grant Operations ​

Operation: grantRoles ​

pgm.grantRoles( roles_from, roles_to, grant_roles_options ) ​

IMPORTANT

Define access privileges - postgres docs

Arguments ​

NameTypeDescription
roles_fromName or array[Name]Names of roles
roles_toName or array[Name]Names of roles
grant_roles_optionsobjectCheck below for available options

grant_roles_options ​

OptionTypeDefault
withAdminOptionbooleanfalse
onlyAdminOptionbooleanfalse
cascadebooleanfalse

Reverse Operation: revokeRoles ​

pgm.revokeRoles( roles, roles_from, drop_options ) ​

IMPORTANT

Remove access privileges - postgres docs

Arguments ​

NameTypeDescription
rolesName or array[Name]Names of roles
roles_fromName or array[Name]Names of roles
drop_optionsobjectCheck below for available options

drop_options ​

OptionTypeDescription
onlyAdminOptionbooleandefault false
cascadebooleandrops also dependent objects

Operation: grantOnTables ​

pgm.grantOnTables( grant_options ) ​

IMPORTANT

Define access privileges - postgres docs

Arguments ​

NameTypeDescription
grant_optionsobjectCheck below for available options

grant_options ​

OptionTypeDescription
tablesName or array[Name]Names of tables
schemastringif tables ALL, then schema name is required
privilegesarray[TablePrivileges] or ALLlist of privileges
rolesName or array[Name]names of roles
withGrantOptionbooleandefault false
cascadebooleandefault false

Use { schema: 'app', name: 'foo' } to select a schema-qualified table. The top-level schema option is used only with tables: 'ALL'; named selections ignore it. Unqualified names resolve through the connection's search_path, which the runner's schema option sets when supplied. The same selection rules apply to revokeOnTables and automatic grant reversal.

Reverse Operation: revokeOnTables ​

pgm.revokeOnTables( revoke_options ) ​

IMPORTANT

Remove access privileges - postgres docs

Arguments ​

NameTypeDescription
revoke_optionsobjectCheck below for available options

revoke_options ​

OptionTypeDescription
tablesName or array[Name]Names of tables
schemastringif tables ALL, then schema name is required
privilegesarray[TablePrivileges] or ALLlist of privileges
rolesName or array[Name]names of roles
onlyGrantOptionbooleanRevoke only the grant option; default false
cascadebooleanRevoke dependent grants; default false

Operation: grantOnSequences ​

pgm.grantOnSequences( grant_options ) ​

IMPORTANT

Define sequence access privileges - postgres docs

Arguments ​

NameTypeDescription
grant_optionsobjectCheck below for available options

grant_options ​

OptionTypeDescription
sequencesName, array[Name], or ALLNames of sequences, or all existing sequences in a schema
schemastringRequired when granting on all sequences in a schema
privilegesSequencePrivilege, array[SequencePrivilege], or ALLSELECT, UPDATE, or USAGE; ALL grants all sequence privileges
rolesName or array[Name]Names of roles; PUBLIC grants to all roles
withGrantOptionbooleanAllow recipients to grant privileges to others; default false
onlyGrantOptionbooleanRevoke only the grant option when reversing; default false
cascadebooleanRevoke dependent grants when reversing; default false
ts
pgm.grantOnSequences({
  roles: 'myrole',
  sequences: 'my_table_id_seq',
  privileges: ['SELECT', 'USAGE'],
});

pgm.grantOnSequences({
  roles: 'myrole',
  sequences: 'ALL',
  schema: 'public',
  privileges: 'USAGE',
});

Use { schema: 'myschema', name: 'my_table_id_seq' } for a schema-qualified sequence. sequences: 'ALL' together with schema affects existing sequences only; it does not set default privileges for future sequences. Without schema, 'ALL' is treated as a literal sequence name, as with grantOnTables.

The operation reverses automatically with revokeOnSequences. A schema-wide reversal revokes privileges on all sequences present when it runs, including sequences created after the grant that received privileges independently.

Reverse Operation: revokeOnSequences ​

pgm.revokeOnSequences( revoke_options ) ​

IMPORTANT

Remove sequence access privileges - postgres docs

Arguments ​

NameTypeDescription
revoke_optionsobjectCheck below for available options

revoke_options ​

OptionTypeDescription
sequencesName, array[Name], or ALLNames of sequences, or all existing sequences in a schema
schemastringRequired when revoking on all sequences in a schema
privilegesSequencePrivilege, array[SequencePrivilege], or ALLSELECT, UPDATE, or USAGE; ALL revokes all sequence privileges
rolesName or array[Name]Names of roles; PUBLIC revokes privileges granted to all roles
onlyGrantOptionbooleanRevoke the ability to grant privileges while retaining the privileges themselves; default false
cascadebooleanRevoke dependent grants; default false
ts
pgm.revokeOnSequences({
  roles: 'myrole',
  sequences: 'my_table_id_seq',
  privileges: 'USAGE',
});

NOTE

CockroachDB 23.2.28, 24.3.23, and 25.3.5 support named and schema-wide sequence grants and revocations, including grant options, but do not support CASCADE. Leave cascade at its default false, including on grants that reverse automatically. ALL uses the database's full set of sequence privileges, which is broader on CockroachDB than on PostgreSQL.

Operation: grantOnSchemas ​

pgm.grantOnSchemas( grant_options ) ​

IMPORTANT

Define access privileges - postgres docs

Arguments ​

NameTypeDescription
grant_optionsobjectCheck below for available options

grant_options ​

OptionTypeDescription
schemasName or array[Name]Names of schemas
privilegesarray[SchemaPrivileges] or ALLlist of privileges
rolesName or array[Name]names of roles
withGrantOptionbooleandefault false
onlyGrantOptionbooleandefault false
cascadebooleandefault false

Reverse Operation: revokeOnSchemas ​

pgm.revokeOnSchemas( revoke_options ) ​

IMPORTANT

Remove access privileges - postgres docs

Arguments ​

NameTypeDescription
revoke_optionsobjectCheck below for available options

revoke_options ​

OptionTypeDescription
schemasName or array[Name]Names of schemas
privilegesarray[SchemaPrivileges] or ALLlist of privileges
rolesName or array[Name]names of roles
withGrantOptionbooleandefault false
onlyGrantOptionbooleandefault false
cascadebooleandrops also dependent objects