diff --git a/packages/pg-protocol/src/index.ts b/packages/pg-protocol/src/index.ts
index 00491ff7f..79fceba2d 100644
--- a/packages/pg-protocol/src/index.ts
+++ b/packages/pg-protocol/src/index.ts
@@ -5,7 +5,10 @@ import { Parser, MessageCallback } from './parser'
 export function parse(stream: NodeJS.ReadableStream, callback: MessageCallback): Promise<void> {
   const parser = new Parser()
   stream.on('data', (buffer: Buffer) => parser.parse(buffer, callback))
-  return new Promise((resolve) => stream.on('end', () => resolve()))
+  return new Promise((resolve, reject) => {
+    stream.on('end', () => resolve())
+    stream.on('error', (err) => reject(err))
+  })
 }
 
 export { serialize, DatabaseError }