Consulta em um tipo de coluna de matriz do Postgres

TL;DR Estou imaginando quais são os prós e os contras (ou se são equivalentes) entre@> {as_champion, whatever} e usandoIN ('as_champion', 'whatever') é. Detalhes abaixo:

Estou trabalhando com o Rails e usando o tipo de coluna de matriz do Postgres, mas tendo que usar sql bruto para minha consulta, pois os métodos de localização do Rails não funcionam muito bem com ele. Eu encontrei uma maneira que funciona, mas querendo saber qual é o método preferido:

oroles coluna naMemberships tabela é minha coluna da matriz. Foi adicionado via trilhos da seguinte forma:

add_column :memberships, :roles, :text, array: true

Quando examino a tabela, ela mostra o tipo como:text[] (não tenho certeza se é assim que o Postgres realmente representa uma coluna da matriz ou se são as travessuras do Rails.

Para consultá-lo, faço algo como:

Membership.where("roles @> ?", '{as_champion, whatever}')

questionAnswers(1)

yourAnswerToTheQuestion