agora inbox for pgsql-admin@postgresql.org  
help / color / mirror / Atom feed
From: Achilleas Mantzios - cloud <a.mantzios@cloud.gatewaynet.com>
To: pgsql-admin@lists.postgresql.org
Subject: People obsessed with docker - how can I help?
Date: Mon, 10 Mar 2025 09:28:49 +0200
Message-ID: <eca99e63-3d47-4691-9da4-650040b302e2@cloud.gatewaynet.com> (raw)

Dear Friends

Recently I started helping some friends with their postgresql systems. 
They run production on XLD, then some dev environment on OS level, and 
docker in others. And they seem dead sure docker is the way to go both 
for the db and app, both in dev/staging and in production.

I am trying to convince those people that docker may be fine for their 
app distribution (java - tomacat), or dev setup, although I have seen 
cases that someone needs to mess around with java threads from within 
the OS, or make persistent changes to java app config from the app or 
the admin interface, but for postgresql it will be a headache if they 
want to do any serious tasks with their DB later, new extensions, custom 
C functions, pg_upgrade, etc.

They use postgresql docker image, like I would use e.g. a sqlite or even 
mysql package in a use once, then throw away fashion. Of course this is 
just me and today MySQL is far from the toy it used to be in 2000, just 
trying to give you the idea. They don't want to deal with the DB, want 
to see it as a black box doing some boring DB stuff and then forget 
about it.

I explained to them that multi-Billion companies might deploy kubernetes 
for postgresql achieving many 9's of high availability but those are 
very serious installations running with some well supported kubernetes 
operator that they can rely and depend upon , they need to respect their 
architecture in their future designs, and also shape the app accordingly.

So we see the oxymoron already : people fanatical with running 
postgresql on docker are those who dont know how to do a proper 
installation by hand, while on the other end of the spectrum companies 
running postgresql on docker/kubernetes are those who already have a 
vast experience running vanilla or compiled or 3rd party postgreql on 
the OS, and want to take HA a step further , providing a fully automated 
environment ( perhaps with Patroni and the rest of ecosystem).

So effectively, one can gather that those who should run postgresql on 
docker are the exact opposite of the kind of people who actually attempt 
to run it without much thought.

Plus another problem spotted by some ppl in the field : 
https://pigsty.io/blog/db/pg-in-docker/

"a team’s intellect relies on the few seasoned members and their 
communication overhead. Database issues require database experts; 
container issues, container experts. However, when databases are 
deployed on kubernetes & dockers, merging the expertise of database and 
K8S specialists is challenging — you need a dual-expert to resolve 
issues, and such individuals are rarer than specialists in one domain. 
Moreover, one man’s meat is another man’s poison. Certain Docker 
features might turn into bugs under specific conditions."

While the DB is still as big as some GBs of data, I find it strange not 
being able to install whatever extension I find suitable and also 
strange to wait half an hour for an upgrade which should take seconds.

If someone wanted to have a persistent extension system he/she should 
also persist /usr/local/pgsql/share besides $PGDATA . And would have to 
play around with https://github.com/tianon/docker-postgres-upgrade to 
get a proper binary upgrade.

What are your thoughts ? I am puzzled because while I used to hear many 
skeptical opinions until some years ago, now the trend seems to more on 
the "acceptance" or neutral side.






view thread (9+ messages)  latest in thread

Message-ID: <eca99e63-3d47-4691-9da4-650040b302e2@cloud.gatewaynet.com>
Permalink:  ../eca99e63-3d47-4691-9da4-650040b302e2@cloud.gatewaynet.com/
Also on:    postgresql.org/message-id/eca99e63-3d47-4691-9da4-650040b302e2@cloud.gatewaynet.com

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-admin@postgresql.org
  Cc: a.mantzios@cloud.gatewaynet.com, pgsql-admin@lists.postgresql.org
  Subject: Re: People obsessed with docker - how can I help?
  In-Reply-To: <eca99e63-3d47-4691-9da4-650040b302e2@cloud.gatewaynet.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox