Ich würde das pq.Array
vermuten gibt Ihnen ein PostgreSQL-Array in der Zeichenfolgenform, sodass Sie etwa Folgendes erhalten:
unnest('{a,b,c,d,e}')
und PostgreSQL ist sich nicht sicher, wie es diesen String interpretieren soll, daher die Beschwerde über unnest(unknown)
. Sie sollten in der Lage sein, eine explizite Typumwandlung hinzuzufügen, um die Dinge zu klären:
unnest($1::text[]) -- PostgreSQL-specific casting syntax
unnest(cast($1 as text[])) -- Standard casting syntax
Sie würden am Ende so etwas erhalten:
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))