diff --git a/support/db/dbtest/db.go b/support/db/dbtest/db.go index 2caf1fee6a..18de073224 100644 --- a/support/db/dbtest/db.go +++ b/support/db/dbtest/db.go @@ -118,7 +118,7 @@ func checkReadOnly(t testing.TB, DSN string) { require.NoError(t, err) defer conn.Close() - tx, err := conn.BeginTx(context.Background(), &sql.TxOptions{Isolation: sql.LevelSerializable}) + tx, err := conn.BeginTx(context.Background(), &sql.TxOptions{}) require.NoError(t, err) defer tx.Rollback() @@ -127,6 +127,12 @@ func checkReadOnly(t testing.TB, DSN string) { if !rows.Next() { _, err = tx.Exec("CREATE ROLE user_ro WITH LOGIN PASSWORD 'user_ro';") + if err != nil { + // Handle race condition by ignoring the error if it's a duplicate key violation + if pqErr, ok := err.(*pq.Error); ok && pqErr.Code == "23505" { + return + } + } require.NoError(t, err) }