Mds.Libraries.CSharp.Db.Postgres 2.3.0-beta.98060

Mds.Libraries.CSharp.Db.Postgres

Пакет для более удобной работы с Postgres.

Пакет содержит:

  • Расширенный HealthCheck для Postgres
  • Механизм для конфигурации подключения HealthCheck через IPostgresConnectionHandler

HealthCheck

В проекте реализован расширенный HealthCheck, который позволяет проверить все хосты, которые указаны в строке подключения. И проверить доступность каждого хоста из строки подключения. В AddHealthChecks обязательно необходимо указать с какой политикой будет выполняться проверка postgres на доступность (см. подробнее в Mds.Libraries.CSharp.Server.Health.Tools).

Настройка HealthCheck, должно решить проблему отсутвия базы данных, если она еще не создана.


var postgresConnectionString = /* ... */;

services.AddHealthChecks()

        .AddMdsPostgresHealthCheck(
            policy: MdsHealthCheckPolicy.Any,
            postgresConnectionString: postgresConnectionString,
            name: "Postgres",
            tags: new[] { "db", "postgres" })

// ...

// Обязательно надо добавить сервис для проверки доступности Postgres
services.AddMdsPostgresHealthCheckServices();

Конфигурация через IPostgresConnectionHandler

Этот механизм позволяет конфигурировать подключение к Postgres. Этот механизм используется для подготовки подключения в AddMdsPostgresHealthCheck. Основной кейс применения, для которого это было разработано - конфигурация проверки удаленного TLS сертификата.

Пример использования

Готовим обработчик:

internal class SamplePostgresConnectionHandler : IPostgresConnectionHandler
{

    public SamplePostgresConnectionHandler() { }
    

    #region IPostgresConnectionHandler

    void IPostgresConnectionHandler.Configure(PostgresConnectionSettings settings)
    {
        // ...
    }

    #endregion IPostgresConnectionHandler
}

Регистрируем обработчик в DI:

services.AddTransient<IPostgresConnectionHandler, SamplePostgresConnectionHandler>();

После данных манипуляций этот обработчик будет инстанцирован, когда необходимо будет сконфигурировать подключение через DI. Обработчиков может быть много. Отработает каждый.

No packages depend on Mds.Libraries.CSharp.Db.Postgres.

Version Downloads Last updated
2.4.2 1 02/28/2026
2.4.1 1 02/28/2026
2.4.0 1 02/28/2026
2.4.0-beta.101944 1 02/28/2026
2.3.0 1 02/28/2026
2.3.0-beta.98060 1 02/28/2026
2.3.0-beta.97958 1 02/28/2026
2.2.0 1 02/28/2026
2.1.2 1 02/28/2026
2.1.1 1 02/28/2026
2.1.0 1 02/28/2026
2.0.0 1 02/28/2026
1.0.3 1 02/28/2026