sqlite also has transactions, which might be what nagy is looking for in regard to 'power button pushed in the middle of an operation'. You can also set an sqlite pragma to perform operations synchronously for improved safety (might make sqlite a bit slower on writes). historically sqlite has had a few corruption bugs. I would consider most of them edge cases, that are largely preventable, pacman has the benefit of single thread locking on the db, so issues with contention and multiprocess journal rollback shouldn't be a problem. http://www.sqlite.org/cvstrac/wiki?p=DatabaseCorruption Also some more "how to corrupt" info (also contains remediation information): http://www.sqlite.org/lockingv3.html#how_to_corrupt For improved safety, pacman could open the db in write mode only when it needs to (when run as root user), and open the db in read only mode the rest of the time.