Tag: array column

查询Postgres数组列类型

TL;DR我想知道@> {as_champion, whatever}和使用IN (‘as_champion’, ‘whatever’) )之间的优缺点(或者它们是否相等)。 详情如下: 我正在使用Rails并使用Postgres的数组列类型,但由于Rails finder方法不能很好地使用它,因此必须使用原始sql作为我的查询。 我发现了一种有效的方法,但想知道首选方法是什么: Memberships表上的roles列是我的数组列。 它是通过rails添加的,因为: add_column :memberships, :roles, :text, array: true 当我检查表时,它将类型显示为: text[] (不确定这是否真的是Postgres如何表示数组列,或者是否是Rails shenanigans。 要查询它我做的事情如下: Membership.where(“roles @> ?”, ‘{as_champion, whatever}’)