DATABASES Signal 436
PostgreSQL Anonymizer 3.2 : Faster Pseudonymization
Illustration only Photo by Brecht Corbeel on Unsplash
PostgreSQL Anonymizer 3.2 introduces seeded pseudonymization functions that are 40 times faster and support localization while deprecating older pseudo_* functions
Engineers handling PII in PostgreSQL databases now have faster, more flexible pseudonymization tools, but must migrate to new functions and address critical security fixes. The upgrade also enforces stricter privilege controls, requiring role adjustments for superuser-dependent masking workflows.
Written by elseif from the cluster below · every claim links back to a sourceThe three things worth knowing
New seeded_* functions deliver 40x speed improvement over deprecated pseudo_* functions while adding localization support
Version 3.2 patches three critical vulnerabilities that could allow privilege escalation in PostgreSQL 14 and upgraded instances
A new security barrier blocks superusers from executing masking functions unless explicitly overridden via anon.nosuperuser
THE READ
What the cluster adds up to.
PostgreSQL Anonymizer 3.2 replaces its core pseudonymization functions with a new implementation that claims 40x performance improvement. The change affects all masking strategies, dynamic, static, replica, backup, views, and wrappers, by introducing seeded_* functions that maintain backward compatibility only through deprecated pseudo_* aliases. The upgrade requires existing users to modify queries and scripts to adopt the faster functions, which also add localization support for region-specific data generation.
The performance gain comes with significant security implications. Three critical vulnerabilities patched in this release could allow privilege escalation, particularly on PostgreSQL 14 or instances upgraded from earlier versions. The extension now enforces a security barrier that prevents superusers from executing masking functions by default, requiring either role separation or explicit configuration overrides. This change may break existing workflows that rely on superuser privileges for masking operations.
Adoption costs include both functional and operational adjustments. Users must re-export masking rules due to JSON schema changes between versions 3.1 and 3.2. The deprecation of pseudo_* functions, while maintaining backward compatibility for now, signals an eventual breaking change that will require proactive migration. The extension remains compatible with major DBaaS providers and PostgreSQL forks, but the security fixes and privilege restrictions may require additional testing for production deployments.
Written by elseif from the cluster below · checked for specifics the sources never containedTHE CLUSTER