@Abhay Gupta Thank you for reaching out.
Yes, you can set a Service Principal as AAD admin using Azure CLI.
az postgres server ad-admin create --server-name SERVERNAME -g RESOURCEGROUP --display-name YourServicePrincipalDisplayName --object-id YourServicePrincipalObjectID
More info the CLI commands is here
However, for authentication using the SPN, you will need to add it to an AD Group and set the group as AD Admin.
----------
If an answer is helpful, please "Accept answer" or "Up-Vote" which might help other community members reading this thread.
And if you have further questions or issues, please let us know.