You donβt have to bother with arrays at all, you can create a table in place using VALUES :
7.7. VALUES Lists
VALUES " ", .
. VALUES.
, :
=> select *
from (
values ('1', 'a', 'A'),
('2', 'b', 'B'),
('3', 'c', 'C')
) as t(id, c1, c2)
where id = '2';
id | c1 | c2
----+----+----
2 | b | B
(1 row)
VALUES (t(id, c1, c2)), .