Paris, 13 September 2019
postgresql_anonymizer is an extension that hides or replaces personally
identifiable information (PII) or commercially sensitive data from a PostgreSQL
First of all, you can declare a list of Masking Rules directly inside the database model with SQL comments like this:
COMMENT ON COLUMN users.name IS 'MASKED WITH FUNCTION md5(name)';
Once the masking rules are declared, anonymization can be acheived in 3 different ways:
- Anonymous Dumps : Simply export the masked data into an SQL file
- In-Place Anonymization : Remove the sensible data according to the rules
- Dynamic Masking : Hide sensible data, only for the masked users
In addition, various Masking Functions are available : randomization, faking, partial scrambling, shuffling, noise, etc. You can also user your own custom function!
For more detail, please take a look at the documentation: https://postgresql-anonymizer.readthedocs.io/
How to Install
This extension is officially supported on PostgreSQL 9.6 and later.
It requires extension named tsm_system_rows (available in the
package) and an extension called ddlx (available via PGXN):
$ pgxn install ddlx $ pgxn install postgresql_anonymizer
WARNING: The project is at an early stage of development and should be used carefully.
How to contribute
PostgreSQL Anonymizer is part of the Dalibo Labs initiative. It is mainly developed by Damien Clochard.
This is an open project, contributions are welcome. We need your feedback and ideas! Let us know what you think of this tool, how it fits your needs and what features are missing.
If you want to help, you can find a list of
Junior Jobs here:
- PostgreSQL (335) ,
- anonymization (1) ,
- GDPR (1) ,
- masking (1) ,
- Dalibo Labs (65) ,
- PostgreSQL Anonymizer (11)