8 ms·
I've hit a lot of rough edges with it too. A few off the top of my head: - in memory joins (until they added the preview relationalJoin feature) - no partial
by mnahkies 2y ago
I've hit a lot of rough edges with it too. A few off the top of my head:
- in memory joins (until they added the preview relationalJoin feature)
- no partial indexes
- no select for update
- no table partitioning (though if you do this out of band it all works fine)
- use of create type enum instead of check constraints makes maintenance of enumerated columns more challenging (IMO)
- little support for less common (but useful!) data types like geospatial, intervals, ltree, etc
- the reliance on wasm/rust makes debugging what it's doing difficult
- the connection pooling defaults are surprising (never reaps idle connections, AFAIK not cgroups aware and over provisions the pool size based on host CPU count)
For simple use cases it's appealing, and I suspect it's probably a better experience with nosql databases, but when you're used to taking full advantage of postgres' feature set it gets frustrating quickly.
There's issues in the tracker for basically everything above, and some may have even been solved by now - in a few more years it might be a better experience.
- sgarland 2y ago> in memory joins (until they added the preview relationalJoin feature) This, to me, was the single issue that made me forever not take Prisma seriously. I get that “ship now, fix later” is a mindset, but you simply cannot ship an RDBMS wrapper that doesn’t handle JOINs. That’s an integral part of the system. > the connection pooling defaults are surprising (never reaps idle connections, AFAIK not cgroups aware and over provisions the pool size based on host CPU count) Tbf I have yet to find a piece of software that hasn’t messed up cgroupsv1. That’s not really an excuse – read docs – but at least everyone seems to make the same mistake.