Hoping some can please assist with the following express server error as unsure what to look for and why this type of error keeps on appearing. It is using a postgres db backend. It seems to also crash the server.
error: invalid input syntax for type integer: ""
at Parser.parseErrorMessage (/home/app/server/node_modules/pg-protocol/dist/parser.js:278:15)
at Parser.handlePacket (/home/app/server/node_modules/pg-protocol/dist/parser.js:126:29)
at Parser.parse (/home/app/server/node_modules/pg-protocol/dist/parser.js:39:38)
at Socket.<anonymous> (/home/app/server/node_modules/pg-protocol/dist/index.js:10:42)
at Socket.emit (events.js:375:28)
at addChunk (internal/streams/readable.js:290:12)
at readableAddChunk (internal/streams/readable.js:265:9)
at Socket.Readable.push (internal/streams/readable.js:204:10)
at TCP.onStreamRead (internal/stream_base_commons.js:188:23) {
length: 101,
severity: 'ERROR',
code: '22P02',
detail: undefined,
hint: undefined,
position: undefined,
internalPosition: undefined,
internalQuery: undefined,
where: undefined,
schema: undefined,
table: undefined,
column: undefined,
dataType: undefined,
constraint: undefined,
file: 'numutils.c',
line: '323',
routine: 'pg_strtoint32'
}
Is there something specific I need to look for based on this error: invalid input syntax for type integer
?
UPDATED - based on below comment, could the following insert query possibly cause this error?
const insertLogQuery = `
insert into log (log_id, run_id, s_id, q_id, message)
values ($1, $2, $3, $4, $5)
`;
const insertLog = await pool.query(insertLogQuery, [ id, null, null, null, reason ]);
where the columns: run_id
, s_id
and q_id
are defined as integers.
If so, can someone pls let me know what the best approach is to prevent this error based on this code.
integer
in your (undisclosed) query. Your data will contain an empty string somewhere.