"staging environment to experiment with, that is an exact copy of your production database?"<p>This seems to be problematic in several compliance schemes. Most will make sure developers,QA etc. do not get access to production data.
it's a very useful feature to have.<p>if you use Heroku Postgres Database ( production tier ), they have a fork feature as well.<p>if you are running Postgres on your own and for relatively small loads, it's quite trivial to create a copy of the db using Template<p><pre><code> CREATE DATABASE new_db TEMPLATE = old_db;
</code></pre>
<a href="https://www.postgresql.org/docs/9.2/static/manage-ag-templatedbs.html" rel="nofollow">https://www.postgresql.org/docs/9.2/static/manage-ag-templat...</a><p>While not the responsibility of a DB vendor, it would be nice if this includes some Data anonymization/randomization option.
We use ZFS (on Linux) clones to instantly fork a read-only replica of our production database, to create r/w copies. We also currently have these upgraded in-place to 9.6 (we're still on 9.5) for testing.<p>Docker-compose and a makefile make it all very straightforward.