From: | François Beausoleil <francois(at)teksol(dot)info> |
---|---|
To: | Forums postgresql <pgsql-general(at)postgresql(dot)org> |
Subject: | Run statements before pg_dump in same transaction? |
Date: | 2017-03-23 19:06:47 |
Message-ID: | 0B76357E-BD7C-4B40-82FA-19FE6F6CA7C5@teksol.info |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Hi all!
For development purposes, we dump the production database to local. It's fine because the DB is small enough. The company's growing and we want to reduce risks. To that end, we'd like to anonymize the data before it leaves the database server.
One solution we thought of would be to run statements prior to pg_dump, but within the same transaction, something like this:
BEGIN;
UPDATE users SET email = 'dev+' || id || '@example.com', password_hash = '/* hash of "password" */', ...;
-- launch pg_dump as usual, ensuring a ROLLBACK at the end
-- pg_dump must run with the *same* connection, obviously
-- if not already done by pg_dump
ROLLBACK;
Is there a ready-made solution for this? Our DB is hosted on Heroku, and we don't have 100% flexibility in how we dump.
I searched for "postgresql anonymize data dump before download"[1] and variations, but I didn't see anything highly relevant.
Thanks!
François
PS: Cross-posted to http://dba.stackexchange.com/q/168023/3935
[1]: https://duckduckgo.com/?q=postgresql+anonymize+data+dump+before+download
From | Date | Subject | |
---|---|---|---|
Next Message | John R Pierce | 2017-03-23 19:18:15 | Re: Run statements before pg_dump in same transaction? |
Previous Message | Peter J. Holzer | 2017-03-23 18:41:54 | Re: Autoanalyze oddity |