I know it does have it's use cases, but if you don't need access control and more complexities, postgres (at least then) seems like so much hassle.
If it's better now perhaps I may try it, but I can't say I have high hopes.
I know it does have it's use cases, but if you don't need access control and more complexities, postgres (at least then) seems like so much hassle.
If it's better now perhaps I may try it, but I can't say I have high hopes.
If that was the case, sqlite would have been unsuitable for your needs.
In other words, the complexity you describe was not caused by postgres. It was caused by your app design. Postgres was able to accommodate your app in a way that sqlite cannot.
Sqlite does have the "it's all contained in this single file" characteristic though. So if and when that's an advantage, there is that. Putting postgres in a container doesn't exactly provide the same characteristic.
The biggest headache is the single write limitation, but that's no different than any other database which is merely hidden behind various abstractions. The solution to 90% of complaints against SQLite is to have a dedicated worker thread dealing with all writes by itself.
I usually code a pool of workers (i.e. scrapers, analysis threads) to prepare data for inserts and then hand it off for rapid bulk inserts to a single write process. SQLite can be set up for concurrent reads so it's only the writes that require this isolation.