Postgres roles
Lakebase Provisioned is the original Lakebase offering that uses provisioned compute you scale manually. For supported regions, see Region availability. For the latest version of Lakebase, with autoscaling compute, scale-to-zero, branching, and instant restore, see Lakebase Autoscaling.
New Lakebase instances will be created as Autoscaling projects. Rollout starts March 12, 2026. For details, see Autoscaling by default.
This page explains the Postgres roles that you can use to govern access to a Databricks Lakebase database instance, including their privileges, purpose, and configuration.
Pre-created roles
After a database instance is created, Databricks automatically creates a Postgres role for the user who created the instance.
Role | Description | Inherited privileges |
|---|---|---|
| The Databricks identity of the instance creator (for example, | Member of |
| An internal administrative role. Used to configure and manage access across the instance. This role is granted broad privileges and should not be used in automated applications. | Inherits from |
Role capabilities
Role | LOGIN | CREATEDB | CREATEROLE | BYPASSRLS | Other privileges |
|---|---|---|---|---|---|
| NOLOGIN | — | — | — |
|
| ✅ | ✅ | ✅ | ✅ |
|
System roles created by Databricks
In addition to the databricks_superuser and admin roles, Databricks creates system roles required for internal services. These roles are assigned the minimum privileges required for functionality. Modifying them can impact instance behavior.
Role | Purpose |
|---|---|
| Used by internal Databricks components for management operations |
| Used by internal metrics collection services |
| Per-database role used to create and manage synced tables |
| Per-database role used to read tables registered in Unity Catalog |
| Used for internal connections for managed data serving services |
To learn how roles, privileges, and role memberships work in Postgres, use the following resources in the Postgres documentation:
Create Postgres roles for Databricks identities
A Postgres role for the database instance owner's Databricks identity is created automatically. To allow other Databricks identities to log in, create additional roles using the UI or PostgreSQL queries.
Role management actions are governed by the permissions granted on the database instance. Ensure you have the appropriate level of access before attempting to manage roles.
- UI
- PostgreSQL
Users with CAN USE permission can view existing roles or add a role for their own identity. Users with CAN MANAGE can create roles for other Databricks identities and drop any role.
- Click
Apps in the top right corner and select Lakebase Postgres.
- Click Provisioned to open the Provisioned instances page.
- Select your database instance.
- Select the Roles page in the Lakebase App sidebar.
- Click Add role.
- From the Principal drop-down menu, select a user, group, or service principal.
- (Optional) Select System Roles to grant
databricks_superuser(read and write access to all data). - (Optional) Select System Attributes to grant
CREATEDB,CREATEROLE, orBYPASSRLS. - Click Add.
Requirements:
- You must have
CREATEandCREATE ROLEpermissions on the database. - You must authenticate as a Databricks identity. Native Postgres authenticated sessions cannot create Databricks roles.
- Your authentication token must be valid.
Use the databricks_create_role function from the databricks_auth extension:
CREATE EXTENSION IF NOT EXISTS databricks_auth;
-- Databricks user
SELECT databricks_create_role('myuser@databricks.com', 'USER');
-- Service principal (use application ID)
SELECT databricks_create_role('8c01cfb1-62c9-4a09-88a8-e195f4b01b08', 'SERVICE_PRINCIPAL');
-- Group
SELECT databricks_create_role('My Group 123', 'GROUP');
New roles only have privileges granted to PUBLIC. Use standard Postgres GRANT and REVOKE commands to add permissions.
View Databricks identity roles
- UI
- PostgreSQL
You can see which users, groups, and service principals have a corresponding Postgres role on the Roles page.
- Click
Apps in the top right corner and select Lakebase Postgres.
- Click Provisioned to open the Provisioned instances page.
- Select your database instance.
- Select the Roles page in the Lakebase App sidebar.
Use the databricks_list_roles function from the databricks_auth extension to list all Databricks identity roles — users, service principals, and groups added to authenticate as Postgres roles.
CREATE EXTENSION IF NOT EXISTS databricks_auth;
SELECT * from databricks_list_roles;
Drop a Postgres role
- UI
- PostgreSQL
- Click
Apps in the top right corner and select Lakebase Postgres.
- Click Provisioned to open the Provisioned instances page.
- Select your database instance.
- Select the Roles page in the Lakebase App sidebar.
- For the role you want to drop, click
and click Drop.
- (Optional) Turn on Reassign owned objects to reassign owned objects before dropping.
- Click Confirm.
Drop a Databricks identity-based role the same as any Postgres role. See the PostgreSQL documentation on dropping roles.