Eu acho que
pq.Array
está dando a você um array do PostgreSQL na forma de string, então você acaba com algo assim:unnest('{a,b,c,d,e}')
e o PostgreSQL não tem certeza de como deve interpretar essa string, daí a reclamação sobre
unnest(unknown)
. Você deve ser capaz de adicionar uma conversão de tipo explícito para esclarecer as coisas:unnest($1::text[]) -- PostgreSQL-specific casting syntax
unnest(cast($1 as text[])) -- Standard casting syntax
Você terminaria com algo assim:
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))