PostgreSQL ermöglicht die Definition von kombinierten Indices. Das ist besonders bei Integritätsconstraints von essentieller Bedeutung. Im Prinzip ist ein kombinierter Index nichts Anderes als ein Index, der mehrere Spalten abdeckt.
In der Praxis sieht das dann so aus:
test=# CREATE UNIQUE INDEX idx_passwd_account_uid ON t_passwd(account, gid); CREATE INDEX
In unserem Fall deckt der Index zwei Spalten ab. Der Index wird verwendet, sofern die ersten Spalten, die im Index vorkommen, in der Query verwendet werden. Deckt ein Index also beispielsweise die Spalte A und B an, kann der Index auch verwendet werden, wenn nur nach A abgefragt wird - nicht jedoch, wenn nur B aber nicht A gefiltert wird. Kombinierte Indices können auch verwendet werden, um nach der ersten Spalte zu suchen und nach den folgenden Spalten zu sortieren.