Not specifically about these functions but in general PG makes it pretty easy to build custom functions and data-types. I one of those who doesn't want to put too much business logic in my DB but for those cases where it really makes sense to get into your lower level language and do all the magic it afford on your data - it's a killer feature. Can't do custom extensions in RDS last I looked tho
This is one of the most under-rated features of PostgreSQL -- its extreme extensibility. I've abused this to great effect over the years. If you are bold, you can make it do some things it really wasn't designed to, relatively safely. And the things it was designed to do, like introducing types and operators, is relatively simple.
My only complaint is that for a few realistic use cases (e.g. zero-copy aggregates with variable-sized memory) there is no documentation how to do this efficiently and "correctly".
Custom functions and data types are great but what most people miss is custom aggregates! Some weeks ago I built tsvector_agg() in ~10 minutes to aggregate the fulltext search vectors of multiple rows into one. That‘s really magical and shows why PostgreSQL is do loved by anyone wantint to use more than a simple SELECT or UPDATE.
Yah, you can't install AWS-unsupported extensions in RDS, but you can extend the type system and operators. You also have access to stored procedures with plsql/plv8/plperl so it doesn't end up being that bad in the end.
If you have kubernetes experience, running a cluster using a pre-built helm chart (like pgo) takes away a ton of the pain by bundling needed services together and giving you easy upgrade paths, high availability, backups, etc.
It's really not more verbose for anything i've written in it (and i've written a lot of pl/pgsql) than other languages for implementing a ton of business logic that actually makes sense to have right next to the data.