Passa un array letterale invece di un costruttore di array. Il valore può essere passato come stringa letterale , quindi viene forzato al tipo corretto da Postgres:
SELECT some_updates('{"(488, 2019-07-01 00:00:00,342)"}');
Prerequisito:la funzione non è "sovraccaricata" in modo che la risoluzione del tipo di funzione non sia ambigua con input non tipizzati.
Correlati:
- Come passare un array di tipi personalizzati alla funzione Postgres
- Passaggio di array di tipo personalizzato alla funzione postgres da node-pg e SQL injection
- C'è un modo per disabilitare il sovraccarico delle funzioni in Postgres
Se hai meno di 100 elementi dell'array, un VARIADIC
la funzione aiuterebbe a semplificare il passaggio di argomenti:
CREATE FUNCTION some_updates(VARIADIC t test[]) ...
Quindi passa i valori letterali di riga come:
SELECT some_updates('(488, 2019-07-01 00:00:00,342)'
, '(489, 2019-07-02 00:00:00,343)')
Vedi:
Se hai (molte) più righe da passare, considera di scriverle in una tabella (temporanea) con un semplice INSERT
ed elaborarli da lì.