Tôi đoán rằng pq.Array
đang cung cấp cho bạn một mảng PostgreSQL ở dạng chuỗi để bạn kết thúc với một cái gì đó như sau:
unnest('{a,b,c,d,e}')
và PostgreSQL không chắc nó sẽ diễn giải chuỗi đó như thế nào, do đó khiếu nại về unnest(unknown)
. Bạn sẽ có thể thêm một kiểu truyền rõ ràng để làm rõ mọi thứ:
unnest($1::text[]) -- PostgreSQL-specific casting syntax
unnest(cast($1 as text[])) -- Standard casting syntax
Bạn sẽ kết thúc với một cái gì đó như thế này:
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))