Hacker News new | past | comments | ask | show | jobs | submit login

SQLite has an official tool for this, fwiw: https://www.sqlite.org/rsync.html

It works at the page level:

> The protocol is for the replica to send a cryptographic hash of each of its pages over to the origin side, then the origin sends back the complete content of any page for which the hash does not match.




Yeah, but unfortunately the SQLite team doesn't include that tool with their "autotools" tarball, which is what most distros (and brew) use to package SQLite. The only way to use the tool is to compile it yourself.


Yeah, that’s a bummer. It does appear to be in nixpkgs, though:

  nix-shell -p sqlite-rsync


Realistically, are you using SQLite if you can’t compile and source control your rev of the codebase? Is that really a big deal?


Yes, it's extremely common to be using it and not even be compiling anything yourself, let alone C or any support libraries.


`sqlite3_rsync` must be installed on the remote host too, so now you're cross-compiling for all the hosts you manage. It also must be installed into the PATH the ssh uses, which for a number of operating systems doesn't include /usr/local/bin. So I guess you're now placing your sshd config under configuration management to allow that.

These tasks aren't that challenging but they sure are a yak shave.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: