How to Resolve the Group ID PostgresqlServer Is Invalid for the Workspace Error
Issue
You receive the following error message:
Call to Microsoft.Databricks/workspaces failed. Error message: The group id 'postgresqlServer' is invalid for the workspace in api-version <api-version>.
Environment
- All database connectors
- Connection method: Private networking
Understanding the problem
The error message indicates that postgresqlServer isn’t a valid groupId (subresource_name in some contexts) for Microsoft.Databricks/workspaces. You’re trying to connect the workspace with the wrong groupId. Use postgresqlServer only when creating private endpoints to Azure Database for PostgreSQL Flexible Server. It doesn’t apply to Azure Databricks.
Resolution
Identify what component of your Azure Databricks workspace you're trying to privately connect to and then use the corresponding correct groupId.
Determine your Private Link for Databricks
Choose the right Databricks Private Endpoint target:
databricks_ui_api: This is for front-end private connectivity to the Azure Databricks control plane (e.g., for accessing the web UI, REST API, Databricks Connect). This is generally per-workspace.browser_authentication: This is a specializedgroupIdused for browser-based authentication redirects with Microsoft Entra ID (formerly Azure AD) when your network doesn't have public internet connectivity. This is usually configured once per region, rather than per workspace.workspace: While not explicitly listed as agroupIdfor direct private endpoint creation in the same waydatabricks_ui_apiis, this often comes up in the context of backend connectivity for serverless compute. For connecting serverless compute to Azure resources, such as storage accounts, you define private endpoint rules within a Network Connectivity Configuration (NCC), and those rules use the target resource'sgroupId(e.g.,blob,dfsfor Storage,sqlServerfor Azure SQL, etc.).
Use the correct group ID
The steps to apply the correct group ID differ depending on your use case. Follow the instructions below that are relevant to you.
Expand for instructions for connecting to the Databricks workspace's UI/APIs
When creating the Private Endpoint directly for a Databricks workspace (often done from the Databricks workspace's networking settings), the Target sub-resource or groupId should be databricks_ui_api.
Azure Portal
- Go to your Azure Databricks workspace.
- Under Settings, select Networking.
- Go to the Private endpoint connections tab.
- Click + Add.
- On the Resource tab, ensure the
Resource typeisMicrosoft.Databricks/workspacesand select your workspace as theResource. - For Target sub-resource, select
databricks_ui_apifrom the dropdown.
Azure CLI example
az network private-endpoint create \
--name my-databricks-pe \
--resource-group <your-resource-group> \
--vnet-name <your-vnet-name> \
--subnet <your-subnet-name> \
--private-connection-resource-id "/subscriptions/<sub-id>/resourceGroups/<rg-name>/providers/Microsoft.Databricks/workspaces/<workspace-name>" \
--group-ids "databricks_ui_api" \ # <--- CORRECT GROUP ID FOR UI/API
--location <your-region> \
--private-dns-zone "privatelink.azuredatabricks.net" # Standard DNS zone for Databricks
Expand for instructions for connecting serverless compute to other Azure data sources
If you are setting up Private Link for the Databricks serverless compute plane to access other Azure services, such as Storage or Azure SQL, this is done as follows:
- Log in to the Azure Databricks account console.
- Create a Network Connectivity Configuration (NCC).
- Within the NCC, you create Private Endpoint Rules. Each rule defines a connection to an external Azure resource.
- The
groupIdfor these rules should be the group ID of the target Azure resource (e.g.,blobfor Storage,sqlServerfor Azure SQL,postgresqlServerfor Azure Database for PostgreSQL Flexible Server, etc.).
- Then, you attach the NCC to your Databricks workspace.