Senior LevelPostgreSQL
How do you build custom ICU String Collations for specialized domain ordering?
❓ Interview Prompt: Explain custom ICU Collations (`CREATE COLLATION`), rules syntax, case-folding, accent sensitivity, and domain-specific alphabetical sorting.
PostgreSQL allows creating custom ICU Collations to enforce non-standard string comparison, case-folding, and custom sorting rules:
Use Case:
Natural number sorting (e.g. sorting ''item2'' before ''item10'') or custom multi-lingual dictionary rules.
Code Implementation Example
sql
-- Create custom ICU collation with numeric natural sorting
CREATE COLLATION numeric_sort (
PROVIDER = icu,
LOCALE = 'en-u-kn-true'
);
SELECT item_code FROM inventory ORDER BY item_code COLLATE numeric_sort;💡Creating a custom ICU collation with natural numeric string sorting.
🎯 Interview Key Takeaway
Use custom ICU collations (e.g. en-u-kn-true) for natural string sorting of alphanumeric codes.
#ICU#Collation#CREATE COLLATION#Senior
Back to all PostgreSQL Questions→