Sự hỗ trợ của PostgreSQL đối với mảng không đặc biệt tốt. Bạn có thể unnest
mảng 1 chiều đủ dễ dàng, nhưng mảng n chiều được làm phẳng hoàn toàn, thay vì chỉ có chiều đầu tiên. Tuy nhiên, bạn có thể sử dụng phương pháp này để tìm tập hợp các bản ghi mong muốn, nhưng nó khá tệ:
SELECT test.*, pg_column_size(test.data) AS column_size
FROM test
JOIN (SELECT id, unnest(data) AS strings FROM test) AS id_strings USING (id)
WHERE id_strings.strings = 'Wazaa';
Ngoài ra, hãy viết hàm này để giảm mảng 2 chiều thành các bản ghi của mảng 1 chiều và sau đó về cơ bản bạn có thể sử dụng tất cả các truy vấn SQL trong câu hỏi của mình.