PostgreSQL Demo

Diffix for PostgreSQL is still under development, but we are happy to show you the progress we have made to date.


If you are impatient, go ahead and connect to the anonymized PostgreSQL database from your command line using:

psql postgresql://

Long version

We are hosting a PostgreSQL database instance containing a slightly altered version of the 20 odd year old Berka bank dataset.

The PostgreSQL instance has the Open Diffix plugin installed and enabled in an early version of the Publish mode. This is the mode whereby an analyst is expected not to be malicious, and is assumed to also have access to the raw data (like you will too), but wishes to produce a report or dashboard that is safe to share with others.


You will be able to play with a tech demo at this point. Most notably, the query capabilities will be severely restricted. Specifically, the only aggregate functions available in the current demo are COUNT(*), COUNT(x) and COUNT(DISTINCT x). More will be added soon.

To learn about how pg_diffix anonymizes data, please consult the Overview of Anonymization Mechanisms for Diffix Publish on Github.


You are given the credentials for two distinct PostgreSQL roles. One is called banking and gives you read-only access to all the data in the database (not anonymized). The other is called banking_publish and gives you access to the same tables, but with the anonymization restrictions applied.

Not anonymized

Role: banking
Password: demo
Database: banking


Role: banking_publish
Password: demo
Database: banking

If you have the PostgreSQL client tools installed on your machine you can connect as the banking role with:

psql postgresql://
and as the banking_publish role with:
psql postgresql://


For some inspiration, you can view an example Python notebook here.


If you require help, you want to report a bug or request a feature, please do so in our Github repository.