Open
Description
Hello, we caught a cool bug )
Streams work fine when copying, but if the stream is sent to the compression pipe, the entire pool of connections freezes.
Example, playback:
import postgres from 'postgres';
import { createGzip } from 'zlib';
const db = postgres({
max: 2,
});
for (let i = 0; i < 10; i++) {
let stream = await db
.unsafe(`COPY pg_catalog.pg_attribute TO STDOUT`)
.readable();
stream.pipe(createGzip()).on('data', console.log);
await db.unsafe(`SELECT $1 AS "CONTINUE"`, [i]);
}
console.log(await db.unsafe(`SELECT 'DONE' AS "END"`));
I play with pipe, but in any case, something is wrong with the connection pool after sending the stream to the pipe.