PostgreSQL:我喜欢所有文本列

PostgreSQL:我喜欢所有文本列,postgresql,Postgresql,是否有一种简单的临时方法来对表的所有文本列执行ILIKE查询 我知道有一个包含foobar的单元格。但是该表有很多列,只有50k行,因此搜索所有列和行应该很快。我给出这个查询的目的是理解这不是为了性能而使用的,只是回填和清理,这里似乎是这样的: SELECT * FROM tablename foo WHERE LOWER(foo::text) LIKE '%foobar%' 如果您想实现一些性能适中的自由文本搜索,您需要完成创建索引tsvector/加权tsvector列的工作。我给您提

是否有一种简单的临时方法来对表的所有文本列执行ILIKE查询


我知道有一个包含foobar的单元格。但是该表有很多列,只有50k行,因此搜索所有列和行应该很快。

我给出这个查询的目的是理解这不是为了性能而使用的,只是回填和清理,这里似乎是这样的:

SELECT * 
FROM tablename foo 
WHERE LOWER(foo::text) LIKE '%foobar%'

如果您想实现一些性能适中的自由文本搜索,您需要完成创建索引tsvector/加权tsvector列的工作。

我给您提供此查询的目的是了解这不是为了提高性能而使用的,只是回填和清理,这里似乎就是这样:

SELECT * 
FROM tablename foo 
WHERE LOWER(foo::text) LIKE '%foobar%'

如果你想实现一些性能适中的自由文本搜索,你需要创建一个索引的tsvector/加权的tsvector列。

哇,太酷了。伟大的把整件事都写下来。非常感谢。顺便问一下,为什么要创建别名foo?没有它也行。这不是真的必要,但这是一个好习惯。无可避免地,即席查询将演变成具有连接和相关子查询的大型庞然大物,但在这里,它为我节省了一些键入字符。哇,太酷了。伟大的把整件事都写下来。非常感谢。顺便问一下,为什么要创建别名foo?没有它也行。这不是真的必要,但这是一个好习惯。不可避免地,即席查询将演变成具有连接和相关子查询的大型庞然大物,但在这里,它为我节省了一些键入字符。