Pase la matriz de node-postgres a la función plpgsql

La función plpgsql:

CREATE OR REPLACE FUNCTION testarray (int[]) returns int as $
  DECLARE
    len int;
  BEGIN
    len := array_upper($1);
  return len;
  END
$ language plpgsql;

El nodo-postgres query + test array:

var ta = [1,2,3,4,5];
client.query('SELECT testarray($1)', [ta], function(err, result) {
  console.log('err: ' + err);
  console.log('result: ' + result);
});

Salida del servidor de nodo:

err: error: el valor de la matriz debe comenzar con "{" o información de dimensión
resultado: indefinido

También traté de emitir el parámetro en la consulta del cliente comotestarray($1::int[]) que devolvió el mismo error.

Cambié el argumento de la función a(anyarray int) y el error de salida cambió:

error: error: sintaxis de entrada no válida para entero: "1,2,3,4,5"
resultado: indefinido

Así como un par de otras variaciones.

Busco la variación que no produce error y devuelve 5.

Leí sobre elPostgres problema parse-array y esta pregunta de stackoverflow sobre arreglos parametrizados en node-postgres:

node-postgres: cómo ejecutar la consulta "WHERE col IN (<lista de valores dinámicos>)"?

Pero la respuesta no parecía estar ahí.

Respuestas a la pregunta(3)

Su respuesta a la pregunta