Passe um array literal em vez de um construtor de matriz. O valor pode ser passado como string literal , então ele é coagido para o tipo certo pelo Postgres:
SELECT some_updates('{"(488, 2019-07-01 00:00:00,342)"}');
Pré-condição:a função não está "sobrecarregada" para que a resolução do tipo de função não seja ambígua com entrada não digitada.
Relacionado:
- Como passar array de tipo personalizado para a função Postgres
- Passando array de tipo personalizado para função postgres de node-pg e injeção SQL
- Existe uma maneira de desabilitar a sobrecarga de funções no Postgres
Se você tiver menos de 100 elementos de matriz, um
VARIADIC
função ajudaria a simplificar a passagem de argumentos:CREATE FUNCTION some_updates(VARIADIC t test[]) ...
Em seguida, passe literais de linha como:
SELECT some_updates('(488, 2019-07-01 00:00:00,342)'
, '(489, 2019-07-02 00:00:00,343)')
Ver:
Se você tiver (muitas) mais linhas para passar, considere gravá-las em uma tabela (temporária) com um
INSERT
simples e processá-los a partir daí.