PostgreSQL hosting extensions

PostgreSQL logo
⭐ Community Toolkit

The Aspire Community Toolkit PostgreSQL hosting extensions package provides extra functionality to the Aspire.Hosting.PostgreSQL hosting package.

This package provides the following features:

Hosting integration

To get started with the Aspire Community Toolkit PostgreSQL hosting extensions, install the CommunityToolkit.Aspire.Hosting.PostgreSQL.Extensions NuGet package in the app host project.

Install the NuGet package
dotnet add package CommunityToolkit.Aspire.Hosting.PostgreSQL.Extensions

Add management UI

DbGate management UI

To add the DbGate management UI to your PostgreSQL resource, call the WithDbGate method on the PostgresServerResource instance:

var builder = DistributedApplication.CreateBuilder(args);
  
var postgres = builder.AddPostgres("postgres")
                      .WithDbGate();
  
builder.AddProject<Projects.ExampleProject>()
       .WithReference(postgres);
  
// After adding all resources, run the app...

This adds a new DbGate resource to the app host which is available from the Aspire dashboard. DbGate is a comprehensive database management tool that provides a web-based interface for managing your PostgreSQL databases.

Adminer management UI

To add the Adminer management UI to your PostgreSQL resource, call the WithAdminer method on the PostgresServerResource instance:

var builder = DistributedApplication.CreateBuilder(args);
  
var postgres = builder.AddPostgres("postgres")
                      .WithAdminer();
  
builder.AddProject<Projects.ExampleProject>()
       .WithReference(postgres);
  
// After adding all resources, run the app...

This adds a new Adminer resource to the app host which is available from the Aspire dashboard. Adminer is a lightweight database management tool that provides a simple web interface for database operations.

Using both management UIs

You can use both management UIs together on the same PostgreSQL resource:

var builder = DistributedApplication.CreateBuilder(args);
  
var postgres = builder.AddPostgres("postgres")
                      .WithDbGate()
                      .WithAdminer();
  
builder.AddProject<Projects.ExampleProject>()
       .WithReference(postgres);
  
// After adding all resources, run the app...

See also