SQLite used to be my go-to database for small programs and various other cases, but lately I've been more annoyed by two things. First is its poor concurrency. My last program is an email analyzer/parser and the program is installed in .qmail. Even with the rate of incoming mails of merely 2-3/sec, and concurrency of 3-5 processes, I keep getting locked out when wanting to access the database.
Second is its almost utter lack of ALTER TABLE support. It only allows renaming a table and adding columns. Even renaming columns is not possible (and I wonder what the technical difficulty for that would be).
There are other annoyances like little choices of data types (making date handling very bothersome, for example), but those two above are what drive me nuts.
I've gone Postgres for almost everything nowadays, but still wonder whether Firebird is a better suit for some cases. Firebird is another SQL database engine that has embedded mode and looks to have better support in those two regards. Plus it has stored procedures and other "advanced" SQL features that SQLite lacks.
Does anyone have experience with Firebird to share? Or with SQLite, for that matter, like what tools to use to ease the pain of altering tables? Searching the monastery only yields mostly threads about installing Firebird/IB.