Hope it’s permissible for me to post this… but if you’re looking to do this in the UK, these guys are great: https://maps.app.goo.gl/PtJpTBpkiDBSzFki7?g_st=ic
HN user
benmos
I don't think that's really humour - that's an important piece of information.
Curious why you'd recommend that. It seems to me that it costs you something (convenience of standard VC practice on code) and gains you little.
I'd recommend checking out the linked presentation above - for things like stored procs you have the option of installing multiple versions simultaneously (e.g. under different names or 'Schemas') - obviously you can't do that for the main schema itself. This is why I think a hybrid approach makes more sense.
I think this post only gives half of the story. The thing is you need to manage not just your schema (and reference data) but also your DB code - i.e. stored proc etc.
For schema, the approach recommended by the OP seems sensible - check diff scripts into VC and consider them immutable (see also http://www.depesz.com/2010/08/22/versioning/ for a lightweight Postgres approach).
For stored procs etc, I think you need an approach much more akin to normal code - here you want to be able to leverage your VCS just as you do with normal code - so for these you want to consider them mutable.
One of the best presentations I've seen on this topic is:
http://www.slideshare.net/OleksiiKliukin/pgconf-us-2015-alte...
Nix (and NixOS, NixOps etc) is totally, totally awesome (only downside is that it's not a statically typed language itself). Just be warned that it does have a non-trivial learning curve of its own though.
Ah, right, that makes sense - thanks.
I take it you mean OS-level threads then?
"we added a tracker for the number of suspended Haskell threads" - would you mind sharing how you did that? I couldn't see any obvious GHC APIs for it.