Igor Korot <ikorot01@xxxxxxxxx> writes: > binaryIntVal = htonl( (uint32_t) type ); > paramValues[0] = (char *) &binaryIntVal; > paramLengths[0] = sizeof( binaryIntVal ); > paramFormats[0] = 1; You're apparently trying to pass this parameter as an int4 ... > res = PQexecParams( m_db, "SELECT * FROM abcatfmt WHERE abf_type = > $1", 1, nullptr, paramValues, paramLengths, paramFormats, 1 ); ... but given that you didn't specify any data type, I think the parser will fall back to assuming that $1 is the same type as "abf_type", whatever that is. Passing data in binary is not at all forgiving about getting the data type right. regards, tom lane