Instant database clones with PostgreSQL 18

(boringsql.com)

88 points | by radimm 4 hours ago

6 comments

  • radarroark 4 minutes ago
    In theory, a database that uses immutable data structures (the hash array mapped trie popularized by Clojure) could allow instant clones on any filesystem, not just ZFS/XFS, and allow instant clones of any subset of the data, not just the entire db. I say "in theory" but I actually built this already so it's not just a theory. I never understood why there aren't more HAMT based databases.
  • BenjaminFaal 31 minutes ago
    For anyone looking for a simple GUI for local testing/development of Postgres based applications. I built a tool a few years ago that simplifies the process: https://github.com/BenjaminFaal/pgtt
    • okigan 25 minutes ago
      Would love to see a snapshot of the GUI as part of the README.md.

      Also docker link seems to be broken.

  • TimH 44 minutes ago
    Looks like it would probably be quite useful when setting up git worktrees, to get multiple claude code instances spun up a bit more easily.
  • 1f97 1 hour ago
  • mvcosta91 1 hour ago
    It looks very interesting for integration tests
    • presentation 43 minutes ago
      We do this, preview deploys, and migration dry runs using Neon Postgres’s branching functionality - seems one benefit of that vs this is that it works even with active connections which is good for doing these things on live databases.
    • radimm 1 hour ago
      OP here - yes, this is my use case too: integration and regression testing, as well as providing learning environments. It makes working with larger datasets a breeze.
    • drakyoko 55 minutes ago
      would this work inside test containers?
      • radimm 11 minutes ago
        OP here - still have to try (generally operate on VM/bare metal level); but my understanding is that ioctl call would get passed to the underlying volume; i.e. you would have to mount volume
  • 1a527dd5 36 minutes ago
    Many thanks, this solves integration tests for us!