automated pipeline for my app and one of these steps is to dockerize postgresql for windows server that support docker containers natively
There are no special Docker containers at all for Windows. Even MS itself states to use WSL for automation. And you can tell your customer, they should use an OS that's designed to do the job and not to make stupid workarounds with best wishes from me.
I really hate windows, and kinda forced to follow the requirements, Iam dealing with Windows server VM holds another VM to run dockers containers, these docker containers runs "mcr.microsoft.com/windows/servercore:ltsc2022" as ws that will be running node apps and postgresql db xD
Because Docker needs a hypervisor it becomes even more messing to get it running inside VMs. AFAIK this will only work with VMware. And it's not stable.
We were in that same boat. We were doing initial testing with PG V12. And then V13 came out, and 2 of the PG Extensions were not readily available for Windows anymore. I flagged that to the client as a future MAJOR RISK. Two decisions were made. First, to minimize the use of PG Extensions. Second, move the DB server to a Linux box, they will learn to adapt. We use VMs that run Linux to develop against, since most of us are Windows Developers. It's been a good choice.
It’s fine to use popular extensions such as postgis and timescaledb But the more obscure ones can become abandoned at any moment
Yes, agreed. We were using the J8 extension for Javascript in our initial pass (thanks to AWS SCT). But we Abandoned that approach because of this. Linux is the "standard" for PG. Windows is a secondary platform. PSQL (in windows) still doesn't have TAB completion. Despite being close in PG16 to turning it on. But the second place status of Windows is obvious. I am just happy the basic DB works will in that environment for small scale usage. (Although for TINY databases I just use SQLite these days, it's just too easy).
Yes, these were some of the reasons for our adjustment. We are now on Linux. So adding them is much easier. BUT we have a rule "Only Internal Extensions... WITHOUT getting Management Approval". This is just to save us a nightmare situation where some developer makes a rather "heavy" decision to leverage some odd-duck extension to solve one problem... Impacting our configuration(s). When I was young... I was such a cowboy coder... I had no deep respect for long-term support, environment maintenance, etc. I Cringe today at how brash I was. Of course, 30 years ago. NOTHING was nearly as complex as todays environments (ask CrowdStrike, LOL).
Обсуждают сегодня