Przekazuj tablicę z węzła postgres do funkcji plpgsql

Funkcja plpgsql:

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

Zapytanie węzeł-postgres + tablica testowa:

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

Wyjście z serwera węzła:

err: error: wartość tablicy musi zaczynać się od „{” lub informacji o wymiarze
wynik: niezdefiniowany

Próbowałem też rzutować parametr w zapytaniu klienta, nptestarray($1::int[]) który zwrócił ten sam błąd.

Zmieniłem argument funkcji na(anyarray int) i zmienił się błąd wyjściowy:

err: error: niepoprawna składnia wejściowa dla liczby całkowitej: „1,2,3,4,5”
wynik: niezdefiniowany

Jak również kilka innych odmian.

Szukam wariacji, która nie powoduje błędu i zwraca 5.

Czytałem oProblem z tablicą analizującą Postgres i to pytanie o przepływność stosu na sparametryzowanych tablicach w węzłach postgres:

node-postgres: jak wykonać zapytanie „WHERE col IN (<dynamiczna lista wartości>)”?

Ale odpowiedź nie wydawała się istnieć.

questionAnswers(3)

yourAnswerToTheQuestion