diff --git a/go.mod b/go.mod index a8d5495e..bc272365 100644 --- a/go.mod +++ b/go.mod @@ -5,7 +5,7 @@ go 1.19 require ( github.com/jackc/pgpassfile v1.0.0 github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a - github.com/jackc/puddle/v2 v2.2.0 + github.com/jackc/puddle/v2 v2.2.1 github.com/stretchr/testify v1.8.1 golang.org/x/crypto v0.9.0 golang.org/x/sys v0.8.0 diff --git a/go.sum b/go.sum index 7e1264de..ac3f4c18 100644 --- a/go.sum +++ b/go.sum @@ -8,6 +8,8 @@ github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a h1:bbPeKD0xmW/ github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a/go.mod h1:5TJZWKEWniPve33vlWYSoGYefn3gLQRzjfDlhSJ9ZKM= github.com/jackc/puddle/v2 v2.2.0 h1:RdcDk92EJBuBS55nQMMYFXTxwstHug4jkhT5pq8VxPk= github.com/jackc/puddle/v2 v2.2.0/go.mod h1:vriiEXHvEE654aYKXXjOvZM39qJ0q+azkZFrfEOc3H4= +github.com/jackc/puddle/v2 v2.2.1 h1:RhxXJtFG022u4ibrCSMSiu5aOq1i77R3OHKNJj77OAk= +github.com/jackc/puddle/v2 v2.2.1/go.mod h1:vriiEXHvEE654aYKXXjOvZM39qJ0q+azkZFrfEOc3H4= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= diff --git a/pgxpool/pool.go b/pgxpool/pool.go index f4c3a30c..8de61d3a 100644 --- a/pgxpool/pool.go +++ b/pgxpool/pool.go @@ -477,6 +477,10 @@ func (p *Pool) createIdleResources(parentCtx context.Context, targetResources in go func() { atomic.AddInt64(&p.newConnsCount, 1) err := p.p.CreateResource(ctx) + // Ignore ErrNotAvailable since it means that the pool has become full since we started creating resource. + if err == puddle.ErrNotAvailable { + err = nil + } errs <- err }() }