O curto prazo comum é apenas "Valores de linha" . Ou "Comparação de valor de linha" para a operação que você demonstra. Esse recurso está no padrão SQL desde o SQL-92 (!). O Postgres é atualmente o único grande RDBMS que o suporta em todos os aspectos - especialmente também com suporte de índice ideal.
Em particular, a expressão
(col1, col2) < (1, 2)
é apenas um atalho para ROW(col1, col2) < ROW(1, 2)
no Postgres. A expressão ROW(col1, col2)
também é chamado de construtor de linha - assim como ARRAY[col1, col2]
é um construtor de matriz. É convenientemente curto para a expressão mais detalhada e equivalente:
col1 < 1 OR (col1 = 1 AND col2 < 2)
... e o Postgres pode usar um índice em
(col1, col2)
ou (col1 DESC, col2 DESC)
por esta. E notavelmente distinto de (!)
col1 < 1 AND AND col2 < 2
Considere o exemplo:
(1,1)
... Aqui está uma apresentação de Markus Winand que discute o recurso de paginação em detalhes:
"Paginação feita à maneira do PostgreSQL" em use-the-index-luke.com.
A comparação de valores de linha começa na página 20. A matriz de suporte a que me referi está na página 45.
Não sou afiliado a nenhuma das fontes que citei.