Jag skulle gissa att pq.Array
ger dig en PostgreSQL-array i strängformen så att du får något sånt här:
unnest('{a,b,c,d,e}')
och PostgreSQL är inte säker på hur den ska tolka den strängen, därav klagomålet om unnest(unknown)
. Du bör kunna lägga till en explicit typcast för att rensa upp saker och ting:
unnest($1::text[]) -- PostgreSQL-specific casting syntax
unnest(cast($1 as text[])) -- Standard casting syntax
Du skulle sluta med något sånt här:
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))