Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pmJ1U-0002wz-1r for pgsql-hackers@arkaria.postgresql.org; Tue, 11 Apr 2023 18:47:20 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1pmJ1S-0003yW-Hd for pgsql-hackers@arkaria.postgresql.org; Tue, 11 Apr 2023 18:47:18 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pmJ1S-0003yM-8U for pgsql-hackers@lists.postgresql.org; Tue, 11 Apr 2023 18:47:18 +0000 Received: from relay2-d.mail.gandi.net ([2001:4b98:dc4:8::222]) by magus.postgresql.org with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1pmJ1I-002Hcv-4O for pgsql-hackers@lists.postgresql.org; Tue, 11 Apr 2023 18:47:17 +0000 Received: (Authenticated sender: strk@kbt.io) by mail.gandi.net (Postfix) with ESMTPSA id AC58340006; Tue, 11 Apr 2023 18:47:00 +0000 (UTC) Date: Tue, 11 Apr 2023 20:48:23 +0200 From: Sandro Santilli Sender: strk@kbt.io To: Regina Obe Cc: 'Yurii Rashkovskii' , 'Tom Lane' , 'Regina Obe' , pgsql-hackers@lists.postgresql.org Subject: Re: [PATCH] Support % wildcard in extension upgrade filenames Message-ID: <20230411184823.s3cctaf63qvfeqlj@c19> References: <20221117095734.igldlk6kngr6ogim@c19> <166914379479.1121.7549798686571352890.pgcf@coridan.postgresql.org> <55512.1673304709@sss.pgh.pa.us> <20230409204629.sf4fptx672iehcau@c19> <000501d96c23$0f05bdf0$2d1139d0$@pcorp.us> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <000501d96c23$0f05bdf0$2d1139d0$@pcorp.us> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Mon, Apr 10, 2023 at 11:09:40PM -0400, Regina Obe wrote: > > On Mon, Apr 03, 2023 at 09:26:25AM +0700, Yurii Rashkovskii wrote: > > > I want to chime in on the issue of lower-number releases that are > > > released after higher-number releases. The way I see this particular > > > problem is that we always put upgrade SQL files in release "packages," > > > and they obviously become static resources. > > > > > > While I [intentionally] overlook some details here, what if (as a > > > convention, for projects where it matters) we shipped extensions with > > > non-upgrade SQL files only, and upgrades were available as separate > > > downloads? This way, we're not tying releases themselves to upgrade paths. > > > This also requires no changes to Postgres. > > > > This is actually something that's on the plate, and we recently added a -- > > disable-extension-upgrades-install configure switch and a `install-extension- > > upgrades-from-known-versions` make target in PostGIS to help going in that > > direction. I guess the ball would now be in the hands of packagers. > > > > > I know this may be a big delivery layout departure for > > > well-established projects; I also understand that this won't solve the > > > problem of having to have these files in the first place (though in > > > many cases, they can be automatically generated once, I suppose, if they are > > trivial). > > > > We will now also be providing a `postgis` script for administration that among > > other things will support a `install-extension-upgrades` command to install > > upgrade paths from specific old versions, but will not hard-code any list of > > "known" old versions as such a list will easily become outdated. > > > > Note that all upgrade scripts installed by the Makefile target or by the > > `postgis` scripts will only be empty upgrade paths from the source version to > > the fake "ANY" version, as the ANY-- upgrade path will still be the > > "catch-all" upgrade script. > > Sounds like a user and packaging nightmare to me. > How is a packager to know which versions a user might have installed? Isn't this EXACTLY the same problem WE have ? The problem is we cannot know in advance how many patch-level releases will come out, and we don't want to hurry into cutting a new release in branches NOT having a bug which was fixed in a stable branch... Packager might actually know better in that they could ONLY consider the packages ever packaged by them. Hey, best would be having support for wildcard wouldn't it ? > I much preferred the idea of just listing all our upgrade targets in the control file. Again: how would we know all upgrade targets ? > We need to come up with a convention of how to describe a micro update, > as it's really a problem with extensions that follow the pattern I think it's a problem with extensions maintaining stable branches, as if the history was linear we would possibly need less files (although at this stage any number bigger than 1 would be too much for me) --strk;