Yo no hubiera hecho una función en postgres para generar el numero de la factura, si no mas bien en el lenguaje que éstes usando,

es que siempre ando pensando en no cargar demasiado los procesos en el servidor.
P..D.T. Hubieras posteado tu solucion por aca para que todos pudieramos verla.