Supongo que pq.Array
le está dando una matriz de PostgreSQL en forma de cadena, por lo que termina con algo como esto:
unnest('{a,b,c,d,e}')
y PostgreSQL no está seguro de cómo debe interpretar esa cadena, de ahí la queja sobre unnest(unknown)
. Debería poder agregar un tipo de conversión explícito para aclarar las cosas:
unnest($1::text[]) -- PostgreSQL-specific casting syntax
unnest(cast($1 as text[])) -- Standard casting syntax
Terminarías con algo como esto:
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))