Il supporto di PostgreSQL per gli array non è particolarmente buono. Puoi unnest
un array unidimensionale abbastanza facile, ma un array n-dimensionale è completamente appiattito, piuttosto che solo la prima dimensione. Tuttavia, puoi utilizzare questo approccio per trovare il set di record desiderato, ma è piuttosto brutto:
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';
In alternativa, scrivi questa funzione per ridurre un array bidimensionale in record di array unidimensionali e quindi puoi praticamente utilizzare tutte le query SQL nella tua domanda.