Respawn Postrgres Ошибка: отказано в разрешении: «pg_largeobject» - системный каталог - PullRequest
0 голосов
/ 12 мая 2019

Настройка

  • ASP.Net Core 2.2
  • Postgres 10,6
  • Respawn 3.2

Контекст проблемы

Я создал веб-API ASP.NET Core 2.2 Web с тестовым проектом для интеграционных тестов.

(я уже много раз использовал Respawn с SQLСервер, но я впервые использую его с Postgres.)

Пример одного из моих интеграционных тестов:

[Fact]
public async Task Get_AllItemsAsync_ReturnOKStatusCode()
{
    // Arrange
    var itemsToAdd = new List<Item>()
    {
        new Item("Test", 1),
        new Item("Dummy", 2)
    };
    var host = _fixture.Server.Host;

    using (var scope = host.Services.CreateScope())
    {
        var scopedServices = scope.ServiceProvider;
        var dbContext = scopedServices.GetRequiredService<ItemsDbContext>();

        dbContext.Items.AddRange(itemsToAdd);
        dbContext.SaveChanges();
    }
    var request = new HttpRequestMessage(HttpMethod.Get, "api/v1/items");

    // Act
    var response = await _fixture.Client.SendAsync(request);

    // Assert
    var responseString = response.Content.ReadAsStringAsync().Result;
    var actualItems = JsonConvert.DeserializeObject<List<ItemViewModel>>(responseString);

    Assert.Equal(HttpStatusCode.OK, response.StatusCode);
    Assert.Equal(itemsToAdd.Count, actualItems.Count);

    // Cleanup
    using (var conn = new NpgsqlConnection("Server=localhost;Database=MyDb;User Id=postgres;Password=SecretPassword!;")
    {
        await conn.OpenAsync();

        await _checkpoint.Reset(conn); // Error happens here
    }
}

Проблема возникает при попытке повторного вызовачтобы положить мою базу данных в контрольную точку.Он возвращает следующую ошибку:

Сообщение: Npgsql.PostgresException: 42501: разрешение отклонено: «pg_largeobject» - системный каталог

Я только начинаю с Postgres, но, насколько я понимаю, пользователь postgres по сути является суперпользователем на сервере, поэтому я не уверен, почему у этого не было бы разрешения на что-то

Я пытался поискать Google для этого исключения, но я не могу найти информацию, относящуюся к этой ошибке в связи с Respawn, поэтому я решил опубликовать здесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...