Postgres Container Apps (beta)
blog.crunchydata.com
blog.crunchydata.com
* Use FDW connections to pull in data from all kinds of sources! Multiple databases, file formats, HTTP buckets, you name it!
* Custom behaviours in multiple languages! PL/Python, PL/Perl, PL/R!
* Read and write to web services! (PL/Python, pgsql-http)
* And now string together arbitrary containers! (pgpodman)
The way the extension system and the type system play together, it really is a very generic place to build weird integrated systems.
That being said, I like the idea of Postgres as a platform for more than data tables storage and database engine. It proved quite powerful and useful.
https://wiki.postgresql.org/wiki/Foreign_data_wrappers
2. PL/Python: language-specific procedural language
https://www.postgresql.org/docs/10/plpython.html
Essentially, this (as I understand it) is highlighting the ways that Postgres can expose data from outside of its default table structure context via these types of functions.
DuckDuckGo gets this article as the first hit - top 4-5 links are all relevant.
And somehow I find it really intriguing.
Next PaaS prediction: hosted Postgres with PL/v8, pgpodman, pg_graphql and PostgREST. Run everything inside your DB!
https://redmonk.com/jgovernor/2022/03/31/on-postgres-contain...
https://notes.eatonphil.com/exploring-plpgsql-forth-like.htm...
CouchDB supports "select index.html && index.js from my_couchdb.some_app" so you can have a UI bundled with your DB Blob. Additionally, since the UI is "just some documents", technically they can update + sync to other distributed DB's.
It's a very interesting concept to make apps more cohesive by including (not just HTML+JS), but also a full docker container that could talk to the datastore w/o any intermediaries.
We're finally coming full circle with PHP5's bundling of SQLite, and are instead having Postgres effectively bundling PHP. :-P
And what’s an actual end user application / use case for this? The post lists some examples but I don’t understand what it means to run them in a container on the DB.
> Stop a container SELECT stop_container('<container_id>');
This physically hurts me.
Heck being able to run a Docker container alongside your DB on the same server is probably useful, but why make it so gimmicky?