Overall Satisfaction with PostgreSQL
PostgreSQL is the primary datastore for Sphere. All of the mission-critical customer and product data which underpins the product offering is there. PostgreSQL was the right choice because so many of the data models that we use are relational to the customer's user account,.
- Reliability - There is absolutely no issue with uptime or data integrity.
- Flexibility - The wide range of data types which are supported gives us immense flexibility in terms of what data we can store.
- Speed - Even at our busiest, we are able to count on the performance of the engine matching our needs.
- Internal features - Thanks to the wealth of internal features, we have less external dependencies to perform common business tasks.
- The query syntax for JSON fields is unwieldy when you start getting into complex queries with many joins.
- I wish there was a distinction (a flag) you could set for automated scripts vs working in the psql CLI, which would provide an 'Are you sure you want to do X?' type prompt if your query is likely to affect more than a certain number of rows. Especially on updates/deletes. Setting the flag in the headless(scripted) flow would disable the prompt.
- Better documentation around JSON and Array aggregation, with more examples of how the data is transformed.
- Easy to administer so our DevOps team has only ever used minimal time to setup, tune, and maintain.
- Easy to interface with so our Engineering team has only ever used minimal time to query or modify the database. Getting the data is straightforward, what we do with it is the bigger concern.
- It's free. You can't beat that.
Do you think PostgreSQL delivers good value for the price?
Are you happy with PostgreSQL's feature set?
Did PostgreSQL live up to sales and marketing promises?
Did implementation of PostgreSQL go as expected?
Would you buy PostgreSQL again?
I don't know anyone who would choose another RDBMS other than PostgreSQL for a new project. Thanks to the wealth of field types, it can even function in situations where you might choose a document-based "NoSQL" db. Its indexing is excellent, meaning that high-performance applications with low thresholds for latency can benefit from it. It is the primary datastore that I recommend to anyone starting a new project which has relational data.