Какво е индекс по израз (Expression Index / Functional Index) в PostgreSQL? Какви са overhead-ите върху операциите за писане (INSERT/UPDATE), които той носи, и защо планировачът може да откаже да го използва, ако типовете данни в израза на заявката не съвпадат?