A computer engineer who's spent last 20 years administering databases.
Have special interest in Linux kernel and database internals.
Currently working as an independent PostgreSQL consultant at European Patent Office (EPO).
Most database users assume that if data exists in a table, queries will always return it correctly. In practice, this is not always guaranteed.
PostgreSQL relies on collations—rules that define how text values are compared and ordered. These rules usually come from the operating system or external libraries.
If these rules change, for example after an operating system upgrade or when moving a database to a new server, existing indexes may no longer work correctly. PostgreSQL will still trust those indexes and continue using them. This can cause incorrect query results, rows appearing to be missing even though they exist, or even broken data integrity such as duplicate values in a primary key.
This behavior is surprising and often overlooked.
In this talk we explain how collations influence PostgreSQL index behavior and demonstrate how a change in collation rules can corrupt database assumptions.
The session also includes a live demonstration showing how this problem can appear in a real system and how to prevent it.