- Home
- Data Masking Software
- PostgreSQL Anonymizer
PostgreSQL Anonymizer
What it is
PostgreSQL Anonymizer is a PostgreSQL extension for masking or replacing personally identifiable and commercially sensitive data. Users define masking rules in SQL with PostgreSQL DDL and store them in the database schema. Documented methods include anonymous dumps, static and dynamic masking, replica masking, masking views, and data wrappers. Functions can randomize, fake, partially scramble, shuffle, add noise, generalize, or apply custom transformations. Identifier detection searches common names in English and French dictionaries, but may miss identifiers or flag non-identifiers. A masked database role can export anonymized data with pg_dump; the resulting dump should have its masking rules removed. Installation instructions cover Linux and self-hosted PostgreSQL, and the project describes source builds on macOS and use within PostgreSQL on WSL2 for Windows. Installation requires superuser privileges, so cloud database providers must add the extension to their catalog. The project is free under a license permitting use, copying, modification, and distribution; commercial support is available separately.
For and against
For
- Masking rules can be declared in SQL
- Offers several masking methods and function types
- Masked roles can export anonymized data with pg_dump
- Free license permits use, modification, and distribution
Against
- Installation requires superuser privileges
- Windows has no native build
- macOS community support is not provided
- Identifier detection can produce false positives and negatives
The verdict
PostgreSQL Anonymizer offers multiple ways to mask database data, with SQL-defined rules and anonymized exports. Installation constraints and possible data-integrity effects make it important to plan how and where masking rules are applied.
Who it suits
It suits PostgreSQL users who need to mask sensitive data for database use or exports. Teams should account for the superuser installation requirement and platform-specific limitations.
Plans and prices
PostgreSQL Anonymizer
Use, copy, modify, and distribute under the PostgreSQL License; commercial support available separately
Read 29 Sep 2026 · gitlab.com
On the record
- Anonymous exports
- A masked database role can be used with pg_dump to export anonymized data, and the documentation says masking rules should be removed from the resulting dump.postgresql-anonymizer.readthedocs.io · read 29 Sep 2026
- Cloud limitation
- Installation requires superuser privileges, so a DBaaS provider must add the extension to its catalog for customers to use it.postgresql-anonymizer.readthedocs.io · read 29 Sep 2026
- Declarative rules
- Masking rules can be declared in SQL using PostgreSQL DDL and stored in the database schema.postgresql-anonymizer.readthedocs.io · read 29 Sep 2026
- Dynamic masking limitation
- Masked roles are not allowed to use EXPLAIN, and masking rules can break data integrity, for example when masking a UNIQUE column to NULL.postgresql-anonymizer.readthedocs.io · read 29 Sep 2026
- Identifier detection
- Its detection function searches for common identifier names using English and French dictionaries, and the documentation warns that detection can produce false positives and false negatives.postgresql-anonymizer.readthedocs.io · read 29 Sep 2026
- Integrations
- Installation documentation includes Ansible, Docker, and Django, and lists compatible PostgreSQL forks and cloud database providers.postgresql-anonymizer.readthedocs.io · read 29 Sep 2026
- License
- The project license permits use, copying, modification, and distribution without a fee, while disclaiming any obligation to provide maintenance, support, or updates.gitlab.com · read 29 Sep 2026
- Masking functions
- Available function types include randomization, faking, partial scrambling, shuffling, noise, generalization, and custom functions.postgresql-anonymizer.readthedocs.io · read 29 Sep 2026
- Masking methods
- The documentation describes anonymous dumps, static masking, dynamic masking, replica masking, masking views, and masking data wrappers.postgresql-anonymizer.readthedocs.io · read 29 Sep 2026
- Purpose
- A PostgreSQL extension for masking or replacing personally identifiable or commercially sensitive data.postgresql-anonymizer.readthedocs.io · read 29 Sep 2026
- Support
- The project invites users to join its Matrix or Discord communities or open a public GitLab issue; enterprise support is available by contacting Dalibo.postgresql-anonymizer.readthedocs.io · read 29 Sep 2026
- Supported deployment
- The extension has installation instructions for Linux distributions and self-hosted PostgreSQL; it can also be built from source on macOS, but community support for macOS is not provided.postgresql-anonymizer.readthedocs.io · read 29 Sep 2026
- Windows support
- There is no native Windows build; the documentation describes running PostgreSQL Anonymizer inside PostgreSQL on WSL2.postgresql-anonymizer.readthedocs.io · read 29 Sep 2026