The scale of operation is the crux here. For a modest number of cores, RDS is a congenial choice. However, when you're going to hundreds or, as in our scenario, tens of thousands of cores with PostgreSQL, clinging to RDS is sheer lunacy.
I was the designated gardener to tackle this: architecting and managing a PostgreSQL deployment with 25K cores and 3M TPS. We've been shelling out a cool $1M annually, covering the whole thing - hardware, software, and DBAs. Meanwhile, the toll for RDS is an astronomical tenfold of our current expenditure, yet it comes with a lesser degree of availability and a starkly crippled observability and other stuff.
However, when it comes to getting it up & running, the process is pretty straightforward, and the outcome is leagues ahead compared to running the kernel in the raw way.
Redis is more like a cherry on top. Many applications utilizing PostgreSQL also employ Redis, Gitlab being a notable example, and that includes us as well. Supporting Redis merely involves adding a couple of RPMs and Playbooks, so why not go for it ;)?
You don't need to rebuild the docker image and restart the container to get the extension installed & created.
And, I haven't found any Postgres docker image with all the extensions I need: you can reuse the RPM in dockerfile to build your own image, which always has to be done somewhere.
For frequently used extensions such as PostGIS, TimescaleDB, Vector, Repack, etc., it can be assured that they function together as expected.
Regarding other extensions, they are only guaranteed to be installed and `CREATE` without error.
I think all the additional layers are the issue for me. There's a lot of moving pieces here that should each be integration tested independently rather than included all together.
Yeah, the original title was "Show HN: OSS PostgreSQL RDS with Supabase,PostgresML,Vector,HA,PITR,Monitor,&100+ Extensions" ... now auto-renamed without the "RDS" part...
Supabase and PostgresML have been introduced in the latest release. At this juncture, they are in a prototype stage, aiming to expand the functionalities' spectrum.
The RDS part and most extensions have served as production tools for us for a long time.