A TARDIS for your ORM - application level time travel in PostgreSQL

Check out http://www.pgconf.us/2015/event/60/ for the full talk details. What do you do when your requirements say you need to be able to reproduce the exact same results that a query did sometime in the past? Including to be able to reproduce incorrect statistics on data that has since been corrected? And being able to reproduce exactly which rows were returned by a query in the past? Well, you do like any time lord would do - break out the TARDIS. Or maybe just use PostgreSQL.. This talk will outline a technique to use some PostgreSQL features, including range types and exclusion contraints/indexes, to trick an ORM application to work with transparent time travel, with the goal of close to zero modifications to the application, while maintaining consistency. About the Speaker Magnus Hagander is a member of the PostgreSQL Core Team and a developer and code committer in the PostgreSQL Global Development Group. These days, Magnus mostly works on other parts of the PostgreSQL backend, recently with a focus on security features, monitoring and backup/replication interfaces and tools. He is also one of the core members of the postgresql.org infrastructure team, maintaining the servers that power the project, and one of the maintainers of the postgresql.org website. He also contributes to pgAdmin and other related projects. He's been a PostgreSQL user since version 6 (with some non-serious use of Postgres 95 before that), and currently serves on the Core Team and as President of the Board for PostgreSQL Europe. To pay the bills, he is a PostgreSQL and open source software consultant at Redpill Linpro in Stockholm, Sweden, where he works on consulting, support and training services, as well as custom development work.
Length: 51:28
Views 624 Likes: 5
Recorded on 2015-03-25 at PGConf US
Look for other videos at PGConf US.
Tweet this video