standard_conforming_strings must be on
See original GitHub issueI am upgrading an existing .NET Core 3.1 project to .NET 5. After upgrading everything (including Npgsql.EntityFrameworkCore.PostgreSQL to v5.0.0), whenever I try to access PostgreSQL I get the following error:
System.NotSupportedException: standard_conforming_strings must be on
at Npgsql.NpgsqlConnector.ReadParameterStatus(ReadOnlySpan1 incomingName, ReadOnlySpan
1 incomingValue)
at Npgsql.NpgsqlConnector.ParseServerMessage(NpgsqlReadBuffer buf, BackendMessageCode code, Int32 len, Boolean isPrependedMessage)
at Npgsql.NpgsqlConnector.<ReadMessage>g__ReadMessageLong|194_0(NpgsqlConnector connector, Boolean async, DataRowLoadingMode dataRowLoadingMode, Boolean readingNotifications, Boolean isReadingPrependedMessage)
at Npgsql.NpgsqlConnector.Open(NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
at Npgsql.ConnectorPool.OpenNewConnector(NpgsqlConnection conn, NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
at Npgsql.ConnectorPool.<>c__DisplayClass38_0.<<Rent>g__RentAsync|0>d.MoveNext()
— End of stack trace from previous location —
at Npgsql.NpgsqlConnection.<>c__DisplayClass41_0.<<Open>g__OpenAsync|0>d.MoveNext()
— End of stack trace from previous location —
at Npgsql.NpgsqlConnection.Open()
at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.OpenDbConnection(Boolean errorsExpected)
at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.OpenInternal(Boolean errorsExpected)
at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.Open(Boolean errorsExpected)
at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReader(RelationalCommandParameterObject parameterObject)
at Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable1.Enumerator.InitializeReader(DbContext _, Boolean result) at Npgsql.EntityFrameworkCore.PostgreSQL.Storage.Internal.NpgsqlExecutionStrategy.Execute[TState,TResult](TState state, Func
3 operation, Func3 verifySucceeded) at Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable
1.Enumerator.MoveNext()
at System.Collections.Generic.List1..ctor(IEnumerable
1 collection)
at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
My application is a .NET 5 Web API and our PostgreSQL database is version 9.6. I am building my context as follows: services.AddDbContext<OfficelinkContext>(opts => opts.UseNpgsql(configuration.GetConnectionString(“OfficelinkConnection”), optionsBuilder => { optionsBuilder.MigrationsAssembly(“OfficelinkRepository”); optionsBuilder.SetPostgresVersion(9, 6); }));
Issue Analytics
- State:
- Created 3 years ago
- Comments:11 (5 by maintainers)
Not using pgbouncer. Connection string trick did the job. Thank you.
Sorry for the late response. Our database was recently upgraded to PostgreSQL 11.6 and standard_conforming_strings is turned off.