Microsoft.DBforPostgreSQL flexibleServers/administrators

Bicep resource definition

The flexibleServers/administrators resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.DBforPostgreSQL/flexibleServers/administrators resource, add the following Bicep to your template.

resource symbolicname 'Microsoft.DBforPostgreSQL/flexibleServers/administrators@2026-04-01-preview' = {
  parent: resourceSymbolicName
  name: 'string'
  properties: {
    principalName: 'string'
    principalType: 'string'
    tenantId: 'string'
  }
}

Property Values

Microsoft.DBforPostgreSQL/flexibleServers/administrators

Name Description Value
name The resource name string (required)
parent In Bicep, you can specify the parent resource for a child resource. You only need to add this property when the child resource is declared outside of the parent resource.

For more information, see Child resource outside parent resource.
Symbolic name for resource of type: flexibleServers
properties Properties of the server administrator associated to a Microsoft Entra principal. AdministratorMicrosoftEntraPropertiesForAddOrAdministratorMicrosoftEntraProperties

AdministratorMicrosoftEntraPropertiesForAddOrAdministratorMicrosoftEntraProperties

Name Description Value
principalName Name of the Microsoft Entra principal. string
principalType Type of Microsoft Entra principal to which the server administrator is associated. 'Group'
'ServicePrincipal'
'Unknown'
'User'
tenantId Identifier of the tenant in which the Microsoft Entra principal exists. string

Usage Examples

Bicep Samples

A basic example of deploying Active Directory administrator on a PostgreSQL Flexible server.

param resourceName string = 'acctest0001'
param location string = 'westeurope'
@description('The administrator login for the PostgreSQL flexible server')
param administratorLogin string
@secure()
@description('The administrator login password for the PostgreSQL flexible server')
param administratorLoginPassword string

resource flexibleServer 'Microsoft.DBforPostgreSQL/flexibleServers@2022-12-01' = {
  name: resourceName
  location: location
  sku: {
    name: 'Standard_D2s_v3'
    tier: 'GeneralPurpose'
  }
  properties: {
    administratorLogin: administratorLogin
    administratorLoginPassword: administratorLoginPassword
    authConfig: {
      activeDirectoryAuth: 'Enabled'
      passwordAuth: 'Enabled'
      tenantId: tenant().tenantId
    }
    availabilityZone: '2'
    backup: {
      geoRedundantBackup: 'Disabled'
    }
    highAvailability: {
      mode: 'Disabled'
    }
    network: {}
    storage: {
      storageSizeGB: 32
    }
    version: '12'
  }
}

resource administrator 'Microsoft.DBforPostgreSQL/flexibleServers/administrators@2022-12-01' = {
  name: deployer().objectId
  parent: flexibleServer
  properties: {
    principalType: 'ServicePrincipal'
    tenantId: tenant().tenantId
  }
}

Azure Quickstart Samples

The following Azure Quickstart templates contain Bicep samples for deploying this resource type.

Bicep File Description
Deploy Azure Database for PostgreSQL (flexible) with AAD This template provides a way to deploy a Flexible server Azure database for PostgreSQL with AAD integration.

ARM template resource definition

The flexibleServers/administrators resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.DBforPostgreSQL/flexibleServers/administrators resource, add the following JSON to your template.

{
  "type": "Microsoft.DBforPostgreSQL/flexibleServers/administrators",
  "apiVersion": "2026-04-01-preview",
  "name": "string",
  "properties": {
    "principalName": "string",
    "principalType": "string",
    "tenantId": "string"
  }
}

Property Values

Microsoft.DBforPostgreSQL/flexibleServers/administrators

Name Description Value
apiVersion The api version '2026-04-01-preview'
name The resource name string (required)
properties Properties of the server administrator associated to a Microsoft Entra principal. AdministratorMicrosoftEntraPropertiesForAddOrAdministratorMicrosoftEntraProperties
type The resource type 'Microsoft.DBforPostgreSQL/flexibleServers/administrators'

AdministratorMicrosoftEntraPropertiesForAddOrAdministratorMicrosoftEntraProperties

Name Description Value
principalName Name of the Microsoft Entra principal. string
principalType Type of Microsoft Entra principal to which the server administrator is associated. 'Group'
'ServicePrincipal'
'Unknown'
'User'
tenantId Identifier of the tenant in which the Microsoft Entra principal exists. string

Usage Examples

Azure Quickstart Templates

The following Azure Quickstart templates deploy this resource type.

Template Description
Deploy Azure Database for PostgreSQL (flexible) with AAD

Deploy to Azure
This template provides a way to deploy a Flexible server Azure database for PostgreSQL with AAD integration.

Terraform (AzAPI provider) resource definition

The flexibleServers/administrators resource type can be deployed with operations that target:

  • Resource groups

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.DBforPostgreSQL/flexibleServers/administrators resource, add the following Terraform to your template.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.DBforPostgreSQL/flexibleServers/administrators@2026-04-01-preview"
  name = "string"
  parent_id = "string"
  body = {
    properties = {
      principalName = "string"
      principalType = "string"
      tenantId = "string"
    }
  }
}

Property Values

Microsoft.DBforPostgreSQL/flexibleServers/administrators

Name Description Value
name The resource name string (required)
parent_id The ID of the resource that is the parent for this resource. ID for resource of type: flexibleServers
properties Properties of the server administrator associated to a Microsoft Entra principal. AdministratorMicrosoftEntraPropertiesForAddOrAdministratorMicrosoftEntraProperties
type The resource type "Microsoft.DBforPostgreSQL/flexibleServers/administrators@2026-04-01-preview"

AdministratorMicrosoftEntraPropertiesForAddOrAdministratorMicrosoftEntraProperties

Name Description Value
principalName Name of the Microsoft Entra principal. string
principalType Type of Microsoft Entra principal to which the server administrator is associated. 'Group'
'ServicePrincipal'
'Unknown'
'User'
tenantId Identifier of the tenant in which the Microsoft Entra principal exists. string

Usage Examples

Terraform Samples

A basic example of deploying Active Directory administrator on a PostgreSQL Flexible server.

terraform {
  required_providers {
    azapi = {
      source = "Azure/azapi"
    }
    azurerm = {
      source = "hashicorp/azurerm"
    }
  }
}

provider "azurerm" {
  features {
  }
}

provider "azapi" {
  skip_provider_registration = false
}

variable "resource_name" {
  type    = string
  default = "acctest0001"
}

variable "location" {
  type    = string
  default = "westeurope"
}

variable "administrator_login" {
  type        = string
  description = "The administrator login for the PostgreSQL flexible server"
}

variable "administrator_login_password" {
  type        = string
  description = "The administrator login password for the PostgreSQL flexible server"
  sensitive   = true
}

data "azurerm_client_config" "current" {
}

resource "azapi_resource" "resourceGroup" {
  type     = "Microsoft.Resources/resourceGroups@2020-06-01"
  name     = var.resource_name
  location = var.location
}

resource "azapi_resource" "flexibleServer" {
  type      = "Microsoft.DBforPostgreSQL/flexibleServers@2022-12-01"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  location  = var.location
  body = {
    properties = {
      administratorLogin         = var.administrator_login
      administratorLoginPassword = var.administrator_login_password
      authConfig = {
        activeDirectoryAuth = "Enabled"
        passwordAuth        = "Enabled"
        tenantId            = data.azurerm_client_config.current.tenant_id
      }
      availabilityZone = "2"
      backup = {
        geoRedundantBackup = "Disabled"
      }
      highAvailability = {
        mode = "Disabled"
      }
      network = {
      }
      storage = {
        storageSizeGB = 32
      }
      version = "12"
    }
    sku = {
      name = "Standard_D2s_v3"
      tier = "GeneralPurpose"
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

resource "azapi_resource" "administrator" {
  type      = "Microsoft.DBforPostgreSQL/flexibleServers/administrators@2022-12-01"
  parent_id = azapi_resource.flexibleServer.id
  name      = data.azurerm_client_config.current.object_id
  body = {
    properties = {
      principalType = "ServicePrincipal"
      tenantId      = data.azurerm_client_config.current.tenant_id
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}