Aspire.Hosting.Azure.PostgreSQL
13.1.0
Prefix Reserved
dotnet add package Aspire.Hosting.Azure.PostgreSQL --version 13.1.0
NuGet\Install-Package Aspire.Hosting.Azure.PostgreSQL -Version 13.1.0
<PackageReference Include="Aspire.Hosting.Azure.PostgreSQL" Version="13.1.0" />
<PackageVersion Include="Aspire.Hosting.Azure.PostgreSQL" Version="13.1.0" />
<PackageReference Include="Aspire.Hosting.Azure.PostgreSQL" />
paket add Aspire.Hosting.Azure.PostgreSQL --version 13.1.0
#r "nuget: Aspire.Hosting.Azure.PostgreSQL, 13.1.0"
#:package Aspire.Hosting.Azure.PostgreSQL@13.1.0
#addin nuget:?package=Aspire.Hosting.Azure.PostgreSQL&version=13.1.0
#tool nuget:?package=Aspire.Hosting.Azure.PostgreSQL&version=13.1.0
Aspire.Hosting.Azure.PostgreSQL library
Provides extension methods and resource definitions for an Aspire AppHost to configure Azure Database for PostgreSQL.
Getting started
Prerequisites
- Azure subscription - create one for free
Install the package
In your AppHost project, install the Aspire Azure PostgreSQL Hosting library with NuGet:
dotnet add package Aspire.Hosting.Azure.PostgreSQL
Configure Azure Provisioning for local development
Adding Azure resources to the Aspire application model will automatically enable development-time provisioning for Azure resources so that you don't need to configure them manually. Provisioning requires a number of settings to be available via .NET configuration. Set these values in user secrets in order to allow resources to be configured automatically.
{
"Azure": {
"SubscriptionId": "<your subscription id>",
"ResourceGroupPrefix": "<prefix for the resource group>",
"Location": "<azure location>"
}
}
NOTE: Developers must have Owner access to the target subscription so that role assignments can be configured for the provisioned resources.
Usage example
Then, in the AppHost.cs file of AppHost, register a Postgres database and consume the connection using the following methods:
var postgresdb = builder.AddAzurePostgresFlexibleServer("pg")
.AddDatabase("postgresdb");
var myService = builder.AddProject<Projects.MyService>()
.WithReference(postgresdb);
The WithReference method configures a connection in the MyService project named postgresdb. By default, AddAzurePostgresFlexibleServer configures Microsoft Entra ID authentication. This requires changes to applications that need to connect to these resources. In the Program.cs file of MyService, the database connection can be consumed using the client library Aspire.Azure.Npgsql or Aspire.Azure.Npgsql.EntityFrameworkCore.PostgreSQL:
builder.AddAzureNpgsqlDataSource("postgresdb");
Connection Properties
When you reference Azure PostgreSQL resources using WithReference, the following connection properties are made available to the consuming project:
Azure PostgreSQL flexible server
The Azure PostgreSQL server resource exposes the following connection properties:
| Property Name | Description |
|---|---|
Host |
The hostname for the PostgreSQL server |
Port |
The PostgreSQL port (fixed at 5432 in Azure Flexible Server) |
Uri |
The connection URI for the server, with the format postgresql://{Username}:{Password}@{Host} (credentials omitted when not applicable) |
JdbcConnectionString |
JDBC-format connection string for the server, with the format jdbc:postgresql://{Host}?sslmode=require&authenticationPluginClassName=com.azure.identity.extensions.jdbc.postgresql.AzurePostgresqlAuthenticationPlugin |
Username |
Present when password authentication is enabled; the configured administrator username |
Password |
Present when password authentication is enabled; the configured administrator password |
Azure PostgreSQL database
The Azure PostgreSQL database resource inherits all properties from its parent server and adds:
| Property Name | Description |
|---|---|
DatabaseName |
The name of the database |
Uri |
The database-specific connection URI, with the format postgresql://{Username}:{Password}@{Host}/{DatabaseName} (credentials omitted when not applicable) |
JdbcConnectionString |
JDBC-format connection string for the database, with the format jdbc:postgresql://{Host}/{DatabaseName}?sslmode=require&authenticationPluginClassName=com.azure.identity.extensions.jdbc.postgresql.AzurePostgresqlAuthenticationPlugin |
Aspire exposes each property as an environment variable named [RESOURCE]_[PROPERTY]. For instance, the Uri property of a resource called db1 becomes DB1_URI.
Additional documentation
- https://www.npgsql.org/doc/basic-usage.html
- https://github.com/dotnet/aspire/tree/main/src/Components/README.md
Feedback & contributing
https://github.com/dotnet/aspire
*Postgres, PostgreSQL and the Slonik Logo are trademarks or registered trademarks of the PostgreSQL Community Association of Canada, and used with their permission.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- Aspire.Hosting.Azure (>= 13.1.0)
- Aspire.Hosting.Azure.KeyVault (>= 13.1.0)
- Aspire.Hosting.PostgreSQL (>= 13.1.0)
- AspNetCore.HealthChecks.NpgSql (>= 9.0.0)
- AspNetCore.HealthChecks.Uris (>= 9.0.0)
- Azure.Core (>= 1.50.0)
- Azure.Identity (>= 1.17.0)
- Azure.Provisioning (>= 1.4.0)
- Azure.Provisioning.KeyVault (>= 1.1.0)
- Azure.Provisioning.PostgreSql (>= 1.1.1)
- Azure.ResourceManager.Authorization (>= 1.1.6)
- Azure.ResourceManager.KeyVault (>= 1.3.3)
- Azure.ResourceManager.Resources (>= 1.11.1)
- Azure.Security.KeyVault.Secrets (>= 4.8.0)
- Google.Protobuf (>= 3.33.0)
- Grpc.AspNetCore (>= 2.71.0)
- Grpc.Net.ClientFactory (>= 2.71.0)
- Grpc.Tools (>= 2.72.0)
- Humanizer.Core (>= 2.14.1)
- JsonPatch.Net (>= 3.3.0)
- KubernetesClient (>= 18.0.5)
- Microsoft.Extensions.Configuration.Abstractions (>= 8.0.0)
- Microsoft.Extensions.Configuration.Binder (>= 8.0.2)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.2)
- Microsoft.Extensions.Diagnostics.HealthChecks (>= 8.0.22)
- Microsoft.Extensions.FileSystemGlobbing (>= 10.0.1)
- Microsoft.Extensions.Hosting (>= 8.0.1)
- Microsoft.Extensions.Hosting.Abstractions (>= 8.0.1)
- Microsoft.Extensions.Http (>= 8.0.1)
- Microsoft.Extensions.Logging.Abstractions (>= 8.0.3)
- Microsoft.Extensions.Options (>= 8.0.2)
- Microsoft.Extensions.Primitives (>= 8.0.0)
- Newtonsoft.Json (>= 13.0.4)
- Polly.Core (>= 8.6.4)
- Semver (>= 3.0.0)
- StreamJsonRpc (>= 2.22.23)
- System.IO.Hashing (>= 9.0.10)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories (3)
Showing the top 3 popular GitHub repositories that depend on Aspire.Hosting.Azure.PostgreSQL:
| Repository | Stars |
|---|---|
|
mehdihadeli/food-delivery-microservices
🍔 A practical and cloud-native food delivery microservices, built with .Net Aspire, .Net 9, MassTransit, Domain-Driven Design, CQRS, Vertical Slice Architecture, Event-Driven Architecture, and the latest technologies.
|
|
|
foxminchan/BookWorm
The practical implementation of Aspire using Microservices, AI-Agents
|
|
|
FritzAndFriends/TagzApp
An application that discovers content on social media for hashtags
|
| Version | Downloads | Last Updated | |
|---|---|---|---|
| 13.1.0 | 928 | 12/17/2025 | |
| 13.0.2 | 6,151 | 12/4/2025 | |
| 13.0.1 | 5,166 | 11/26/2025 | |
| 13.0.0 | 11,325 | 11/11/2025 | |
| 9.5.2 | 13,278 | 10/23/2025 | |
| 9.5.1 | 13,613 | 10/3/2025 | |
| 9.5.0 | 6,904 | 9/25/2025 | |
| 9.4.2 | 9,028 | 9/2/2025 | |
| 9.4.1 | 9,047 | 8/12/2025 | |
| 9.4.0 | 6,445 | 7/29/2025 | |
| 9.3.1 | 26,704 | 6/10/2025 | |
| 9.3.0 | 14,158 | 5/19/2025 | |
| 9.2.1 | 9,107 | 4/24/2025 | |
| 9.2.0 | 7,263 | 4/10/2025 | |
| 9.1.0 | 20,893 | 2/25/2025 | |
| 9.0.0 | 26,612 | 11/12/2024 | |
| 9.0.0-rc.1.24511.1 | 1,599 | 10/15/2024 | |
| 8.2.2 | 2,936 | 10/24/2024 | |
| 8.2.1 | 2,478 | 9/26/2024 | |
| 8.2.0 | 3,216 | 8/29/2024 | |
| 8.1.0 | 1,439 | 7/23/2024 | |
| 8.0.2 | 836 | 6/28/2024 | |
| 8.0.1 | 2,220 | 5/21/2024 | |
| 8.0.0 | 464 | 5/21/2024 | |
| 8.0.0-preview.7.24251.11 | 298 | 5/7/2024 | |
| 8.0.0-preview.6.24214.1 | 426 | 4/23/2024 | |
| 8.0.0-preview.5.24201.12 | 356 | 4/9/2024 |