Microsoft.DBforPostgreSQL flexibleServers/configurations

Bicep resource definition

The flexibleServers/configurations 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/configurations resource, add the following Bicep to your template.

resource symbolicname 'Microsoft.DBforPostgreSQL/flexibleServers/configurations@2026-04-01-preview' = {
  parent: resourceSymbolicName
  name: 'string'
  properties: {
    source: 'string'
    value: 'string'
  }
}

Property Values

Microsoft.DBforPostgreSQL/flexibleServers/configurations

Name Description Value
name The resource name string

Constraints:
Min length = 1
Max length = 256
Pattern = ^[-\w\._]+$ (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 a configuration (also known as server parameter). ConfigurationProperties

ConfigurationProperties

Name Description Value
source Source of the value assigned to the configuration (also known as server parameter). Required to update the value assigned to a specific modifiable configuration. string
value Value of the configuration (also known as server parameter). Required to update the value assigned to a specific modifiable configuration. string

Usage Examples

Bicep Samples

A basic example of deploying Sets a PostgreSQL Configuration value on a Azure PostgreSQL Flexible Server.

param resourceName string = 'acctest0001'
param location string = 'eastus'
@secure()
@description('The administrator password for the PostgreSQL flexible server')
param postgresqlAdministratorPassword string

resource flexibleServer 'Microsoft.DBforPostgreSQL/flexibleServers@2023-06-01-preview' = {
  name: resourceName
  location: location
  sku: {
    name: 'Standard_D2s_v3'
    tier: 'GeneralPurpose'
  }
  properties: {
    administratorLogin: 'adminTerraform'
    administratorLoginPassword: postgresqlAdministratorPassword
    availabilityZone: '2'
    backup: {
      geoRedundantBackup: 'Disabled'
    }
    highAvailability: {
      mode: 'Disabled'
    }
    network: {}
    storage: {
      storageSizeGB: 32
    }
    version: '12'
  }
  identity: {
    type: 'None'
  }
}

resource pgbouncerEnabled 'Microsoft.DBforPostgreSQL/flexibleServers/configurations@2022-12-01' = {
  name: 'pgbouncer.enabled'
  parent: flexibleServer
  properties: {
    source: 'user-override'
    value: 'true'
  }
}

resource pgbouncerDefaultPoolSize 'Microsoft.DBforPostgreSQL/flexibleServers/configurations@2022-12-01' = {
  name: 'pgbouncer.default_pool_size'
  parent: flexibleServer
  dependsOn: [
    pgbouncerEnabled
  ]
  properties: {
    source: 'user-override'
    value: '40'
  }
}

ARM template resource definition

The flexibleServers/configurations 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/configurations resource, add the following JSON to your template.

{
  "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations",
  "apiVersion": "2026-04-01-preview",
  "name": "string",
  "properties": {
    "source": "string",
    "value": "string"
  }
}

Property Values

Microsoft.DBforPostgreSQL/flexibleServers/configurations

Name Description Value
apiVersion The api version '2026-04-01-preview'
name The resource name string

Constraints:
Min length = 1
Max length = 256
Pattern = ^[-\w\._]+$ (required)
properties Properties of a configuration (also known as server parameter). ConfigurationProperties
type The resource type 'Microsoft.DBforPostgreSQL/flexibleServers/configurations'

ConfigurationProperties

Name Description Value
source Source of the value assigned to the configuration (also known as server parameter). Required to update the value assigned to a specific modifiable configuration. string
value Value of the configuration (also known as server parameter). Required to update the value assigned to a specific modifiable configuration. string

Usage Examples

Terraform (AzAPI provider) resource definition

The flexibleServers/configurations 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/configurations resource, add the following Terraform to your template.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.DBforPostgreSQL/flexibleServers/configurations@2026-04-01-preview"
  name = "string"
  parent_id = "string"
  body = {
    properties = {
      source = "string"
      value = "string"
    }
  }
}

Property Values

Microsoft.DBforPostgreSQL/flexibleServers/configurations

Name Description Value
name The resource name string

Constraints:
Min length = 1
Max length = 256
Pattern = ^[-\w\._]+$ (required)
parent_id The ID of the resource that is the parent for this resource. ID for resource of type: flexibleServers
properties Properties of a configuration (also known as server parameter). ConfigurationProperties
type The resource type "Microsoft.DBforPostgreSQL/flexibleServers/configurations@2026-04-01-preview"

ConfigurationProperties

Name Description Value
source Source of the value assigned to the configuration (also known as server parameter). Required to update the value assigned to a specific modifiable configuration. string
value Value of the configuration (also known as server parameter). Required to update the value assigned to a specific modifiable configuration. string

Usage Examples

Terraform Samples

A basic example of deploying Sets a PostgreSQL Configuration value on a Azure PostgreSQL Flexible Server.

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

provider "azapi" {
  skip_provider_registration = false
}

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

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

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

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@2023-06-01-preview"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  location  = var.location
  body = {
    identity = {
      type                   = "None",
      userAssignedIdentities = null
    },
    properties = {
      administratorLogin         = "adminTerraform"
      administratorLoginPassword = var.postgresql_administrator_password
      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_update_resource" "pgbouncerEnabled" {
  type      = "Microsoft.DBforPostgreSQL/flexibleServers/configurations@2022-12-01"
  parent_id = azapi_resource.flexibleServer.id
  name      = "pgbouncer.enabled"
  body = {
    properties = {
      value  = "true"
      source = "user-override"
    }
  }
}

resource "azapi_update_resource" "pgbouncerDefaultPoolSize" {
  depends_on = [azapi_update_resource.pgbouncerEnabled]
  type       = "Microsoft.DBforPostgreSQL/flexibleServers/configurations@2022-12-01"
  parent_id  = azapi_resource.flexibleServer.id
  name       = "pgbouncer.default_pool_size"
  body = {
    properties = {
      value  = "40"
      source = "user-override"
    }
  }
}