Por un lado el error es claro: no existe unsigned para Postgres. Deberás saber cuales son los tipos admitidos y utilizar uno de ellos.
Mira este link.
De todos modos, yo insisto en que creo que la posición inicial debe ser 5
Código SQL
[-]
Select Max(Cast(Substring(Numeracion From 5, 3) As Integer))
From ventas
Si la longitud de la parte numerica es fija (3) puedes utilizarlo asi, si es variable, deberás utilizar char_length para calcularla.
En este
link tienes información de como se utiliza substring (como digo yo aparentemente) y char_length.