Jeg vil gætte på, at pq.Array
giver dig et PostgreSQL-array i strengformen, så du ender med noget som dette:
unnest('{a,b,c,d,e}')
og PostgreSQL er ikke sikker på, hvordan den skal fortolke den streng, derfor klagen over unnest(unknown)
. Du bør være i stand til at tilføje en eksplicit type cast for at rydde op i tingene:
unnest($1::text[]) -- PostgreSQL-specific casting syntax
unnest(cast($1 as text[])) -- Standard casting syntax
Du ville ende med noget som dette:
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))