An index column need not be just a column of the underlying table, but can be a function or scalar expression computed from one or more columns of the table. This feature is useful to obtain fast access to tables based on the results of computations. For example, a common way to do case-insensitive comparisons is to use the lower function: SELECT * FROM test1 WHERE lower(col1) = 'value'; This quer
![11.7. Indexes on Expressions](https://cdn-ak-scissors.b.st-hatena.com/image/square/942c169a9546888ebd1837d63ba046041510086f/height=288;version=1;width=512/https%3A%2F%2Fwww.postgresql.org%2Fmedia%2Fimg%2Fabout%2Fpress%2Felephant.png)