I've been writing Postgres extensions for a few years now (mostly in C and Python), and I have to say that an important contribution from companies like Tembo and Omnigres is in the area of tooling and boilerplate. From workflows to Dockerfiles [0], that's important for the future of Postgres.
This has been discussed in the past [1], but the Postgres tooling ecosystem has been primarily C-Makefile—mailing list driven, and there used to be a lot of Makefile targets copy-pasting. Whenever major Postgres providers wanted to open source some of their extensions / sub-products. I still feel, however, that a lot of Postgres C-know-how is being slowly forgotten / lost, and I think it will be necessary again soon. Internal things as how Postgres handles varlena, StringInfo, JsonbValue, etc. The core abstractions that make Postgres work.
With regulated I mean, curated by a group of postgres committers for example. I do think extensions inside postgres are very prone to supply chain attacks, so it should not be managed the way npm is.
How npm is regulated? Anybody can publish their package on npm as they can do on GitHub. There is no up-front review on npm. Only packages that are clearly harmful to the community are removed from npm.
15 comments
[ 3.5 ms ] story [ 52.2 ms ] threadThis has been discussed in the past [1], but the Postgres tooling ecosystem has been primarily C-Makefile—mailing list driven, and there used to be a lot of Makefile targets copy-pasting. Whenever major Postgres providers wanted to open source some of their extensions / sub-products. I still feel, however, that a lot of Postgres C-know-how is being slowly forgotten / lost, and I think it will be necessary again soon. Internal things as how Postgres handles varlena, StringInfo, JsonbValue, etc. The core abstractions that make Postgres work.
0: https://github.com/omnigres/omnigres/blob/master/Dockerfile 1: https://redmonk.com/jgovernor/2023/10/10/postgres-the-next-g...
For context, there are a few efforts in progress. I'm sure there are more. - https://pgxman.com - https://pgt.dev - pgxn v2: https://github.com/orgs/pgxn/projects/1/views/1
[0] https://github.com/pgcentralfoundation/pgrx
[1] https://github.com/xataio/pgzx
Huge thanks to TCDI (www.tcdi.com) for continuing to fund development.