REDIGERA :Som jag noterade i kommentarerna nedan, och som anges i det här SO-svaret , detta problem uppenbarligen åtgärdats i Postgresql 9.2. Det svaret säger:
Nedan är resten av mitt ursprungliga svar:
Detta verkar vara en känd begränsning i Postgresqls xpath() funktion - endast uttryck som evalueras till en noduppsättning returnerar något; XPath-uttryck som skulle returnera ett skalärt värde returnerar bara en tom array.
Vissa Google-sökningar avslöjar en diskussion om detta för ungefär 2 år sedan, främst från en person som heter Florian Pflug:
Han har utvecklat en patch som förmodligen löser problemet och som är bifogad till följande tråd (även om jag inte är helt säker på att detta är den senaste versionen):
https://www.postgresql.org /meddelande-id/example@sqldat.com
Det verkar finnas en viss diskussion om för- och nackdelarna med hans patch, så jag skulle föreslå att du läser igenom dessa trådar för att vara medveten om vad som är inblandat:
https://www.postgresql.org/message-id/example @sqldat.com https://www.postgresql.org/message-id/example @sqldat.com