Direi che pq.Array
ti sta dando un array PostgreSQL sotto forma di stringa, quindi ti ritroverai con qualcosa del genere:
unnest('{a,b,c,d,e}')
e PostgreSQL non è sicuro di come dovrebbe interpretare quella stringa, da qui il reclamo su unnest(unknown)
. Dovresti essere in grado di aggiungere un cast di tipo esplicito per chiarire le cose:
unnest($1::text[]) -- PostgreSQL-specific casting syntax
unnest(cast($1 as text[])) -- Standard casting syntax
Finiresti con qualcosa del genere:
rows, err := db.Query("select colname from (SELECT date, unnest($1::text[]) AS colname, unnest($1) AS thing from test1 where date='123') as tester where thing=1;", pq.Array(arr1))