I don't know if this was because of PostgREST or because all the logic was encoded in grotesque looking SQL that nobody understood (and changing some things requires dropping and readding things).
It is an extremely cool project, don't get me wrong, but it's one of those things that's "I know this already and I'll use it for a weekend/poc project to not deal with writing a backend" and not for something important. And again, I don't know if this was just poor usage or something that manifests itself in every project that relies on it. Also the DSL is very much it's own thing, so migrating away from it is painful, especially if you inherited the project and don't want to read the document. But again, sample size is 1, so it's anecdotal.
1- Don't expose your real database but expose a database consisting of view on your real database so you can refactor.
2- Wrap your bussines logic in stored proc to keep your sql readable
3- Use jwt for authentication
That said, I would not recommend it for a large scale application. I consider it, maybe wrongly, as the MSAccess of the backend.