When knex increment/decrement calls _counter() it uses parseInt() and truncates the incoming value to an integer. This is a problem if there is a numeric type in DB (Postgres).
I think that the _counter should do parseFloat() and if the number is given it should do nothing or just use isFinite() instead of using isNaN() that is truthy for Infinity and -Infinity.
I can provide a pull request for this one.