Blog Post

Microsoft Data Migration Blog
2 MIN READ

PostgresSQL and MySQL installation identification by Azure Arc-enabled servers

ajith-k's avatar
ajith-k
Icon for Microsoft rankMicrosoft
Feb 13, 2025

Azure Arc-enabled servers now have the capability to automatically identify PostgresSQL and MySQL installations.

Overview

We are thrilled to announce that Azure Arc-enabled servers now have the capability to automatically identify PostgresSQL and MySQL installations. This new feature allows you to use Azure-based management for overseeing your servers running PostgresSQL at-scale.

What has changed?

The Azure Connected Machine agent captures metadata about the connected machine after registration with Azure Arc-enabled servers. This instance metadata now includes the presence of PostgresSQL and MySQL.

How to use it?

Navigate to the Azure Arc center in the Azure portal. Under Data Services, there are links to PostgresSQL Servers and MySQL Servers dashboard. These dashboards list all Arc enabled servers with PostgresSQL and MySQL installations identified, respectively.

The instance metadata collected is available as attributes which can be queried at scale using Azure Resource Graph. The presence of PostgresSQL can be queried using the property  properties.detectedProperties.pgsqldiscovered. Similarly, the presence of MySQL can be queried using the property  properties.detectedProperties.mysqldiscovered

 You can also navigate to Machines under Azure Arc resources. Click Open query to open an Azure Resource Graph query. You can now use the below query as a starting point to list the servers with PostgresSQL and MySQL installations. Modify and customize the query further as needed with any required filtering, grouping and sorting.

resources
| where type =~ 'microsoft.hybridcompute/machines'
| extend machineId = tolower(tostring(id)), datacenter = iif(isnull(tags.Datacenter), '', tags.Datacenter), status = tostring(properties.status)
| extend mssqlinstalled = coalesce(tobool(properties.detectedProperties.mssqldiscovered),false)
| extend pgsqlinstalled = coalesce(tobool(properties.detectedProperties.pgsqldiscovered),false)
| extend mysqlinstalled = coalesce(tobool(properties.detectedProperties.mysqldiscovered),false)
| extend osSku = properties.osSku, osName = properties.osName, osVersion = properties.osVersion
| extend coreCount = tostring(properties.detectedProperties.logicalCoreCount), totalPhysicalMemoryinGB = tostring(properties.detectedProperties.totalPhysicalMemoryInGigabytes) 
| extend operatingSystem = iif(isnotnull(osSku), osSku, osName)
| where mssqlinstalled or mysqlinstalled or pgsqlinstalled
| project id ,name, type, resourceGroup, subscriptionId, location, kind, osVersion, status, osSku,coreCount,totalPhysicalMemoryinGB,tags, mssqlinstalled, mysqlinstalled, pgsqlinstalled
| sort by (tolower(tostring(name))) asc

 

Call To Action

Use Azure Resource Graph queries today to view your Azure Arc-enabled servers with PostgreSQL installations.

Updated May 09, 2025
Version 2.0
No CommentsBe the first to comment