diff --git a/pgconn/pgconn.go b/pgconn/pgconn.go index abf6c9d8d..45b6362da 100644 --- a/pgconn/pgconn.go +++ b/pgconn/pgconn.go @@ -292,7 +292,13 @@ func connectPreferred(ctx context.Context, config *Config, connectOneConfigs []* } if fallbackConnectOneConfig != nil { - pgConn, err := connectOne(ctx, config, fallbackConnectOneConfig, true) + fallbackCtx := octx + if config.ConnectTimeout != 0 { + var cancel context.CancelFunc + fallbackCtx, cancel = context.WithTimeout(octx, config.ConnectTimeout) + defer cancel() + } + pgConn, err := connectOne(fallbackCtx, config, fallbackConnectOneConfig, true) if err == nil { return pgConn, nil }