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 1pm4OF-0003Wf-AB for pgsql-hackers@arkaria.postgresql.org; Tue, 11 Apr 2023 03:09:51 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1pm4OE-0003F2-2H for pgsql-hackers@arkaria.postgresql.org; Tue, 11 Apr 2023 03:09:50 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pm4OD-0003Et-LL for pgsql-hackers@lists.postgresql.org; Tue, 11 Apr 2023 03:09:49 +0000 Received: from mail-qt1-x82d.google.com ([2607:f8b0:4864:20::82d]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1pm4O7-0006nZ-S8 for pgsql-hackers@lists.postgresql.org; Tue, 11 Apr 2023 03:09:48 +0000 Received: by mail-qt1-x82d.google.com with SMTP id a23so4000946qtj.8 for ; Mon, 10 Apr 2023 20:09:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pcorp-us.20210112.gappssmtp.com; s=20210112; t=1681182583; h=content-language:thread-index:content-transfer-encoding :mime-version:message-id:date:subject:in-reply-to:references:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=+J9ZugC4i7lzJV3glVB/9HqM9JH59pFuE0wFl+JqG3M=; b=zeQMh0hx8F5wshaSuRP0nWF0GoFzR7knGR1ofjF9mijvMefHKgUV5OOh/WhrdZe+an b0LQrXJsrjZhjOV7byZya9Jt22LnhS/3OdMnXtI/3Mrfe3baG1LYXV0JUOCHxXixl+zB MUABvNfq8tquSlNCqOw6G+RgIjDspRW5+o4El456mSYkU+MF/Y/a3uYPW6w7L7JB442/ fs6tLSUCIqEdmcFKGki1pzBfiJiImQ83P8Gb04yGhBzhcKlAqSq9TcP8Qf6fr7T6a4Pn 8wdhd5fgAitupxL1oz83CE/vh0AU/0uGjPYBHtInXMmrmpW087HcGArG1RVfMTgd2qdX UYcQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1681182583; h=content-language:thread-index:content-transfer-encoding :mime-version:message-id:date:subject:in-reply-to:references:cc:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=+J9ZugC4i7lzJV3glVB/9HqM9JH59pFuE0wFl+JqG3M=; b=1jY2UORCvlM0WFnlkGKrN904fp3uY0K27zSeevh2zhlf3QrxYsU2tNDrkZyD8df8Dx ChiLI313+L48HixsVkkYidUFSRm2o2yYsUDpxXZam2xBL67SYqGlSNok8foYJYyPDsGP 0VY0uc58Kw/T/1peXDdPW2L4jQmAEZCbHIj307YtoA07wkEoTT6oBbNqHw3IS0HwLR+b CXbdS7jsh/LVIa4qCWF1l2wnKnNqm9SGjBma7S5Wv36UpHbySoC3+KWvzo8W2FPKjUCl w/34s/EKGiRY75uMwBLdLt+0G18g0x/9FSjr9oFt2JHQZPK7ln/E4aWaB+55NRpFIkf/ kgcA== X-Gm-Message-State: AAQBX9d0zCDttwEm8VZSg9I2XM0Z7NvUBeJ6c+IZgBsFs+SZtL/cqBbb dKRpYUkRDxXNiotJBtzI8JIM8YA0vZX3EdHWbzQ= X-Google-Smtp-Source: AKy350bWgAQ+6OX9Ige37Zv7OebbojbUwQj4SEBqLhK1njEJ0LDg46WfhtQGRGk3tpGRWn+FHeLPaA== X-Received: by 2002:a05:622a:514:b0:3bf:db0a:c105 with SMTP id l20-20020a05622a051400b003bfdb0ac105mr14054932qtx.6.1681182582656; Mon, 10 Apr 2023 20:09:42 -0700 (PDT) Received: from F (50-78-240-110-static.hfc.comcastbusiness.net. [50.78.240.110]) by smtp.gmail.com with ESMTPSA id r2-20020ae9d602000000b0074856680834sm3639524qkk.132.2023.04.10.20.09.41 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 10 Apr 2023 20:09:42 -0700 (PDT) From: "Regina Obe" To: , "'Yurii Rashkovskii'" Cc: "'Tom Lane'" , "'Regina Obe'" , References: <20221117095734.igldlk6kngr6ogim@c19> <166914379479.1121.7549798686571352890.pgcf@coridan.postgresql.org> <55512.1673304709@sss.pgh.pa.us> <20230409204629.sf4fptx672iehcau@c19> In-Reply-To: <20230409204629.sf4fptx672iehcau@c19> Subject: RE: [PATCH] Support % wildcard in extension upgrade filenames Date: Mon, 10 Apr 2023 23:09:40 -0400 Message-ID: <000501d96c23$0f05bdf0$2d1139d0$@pcorp.us> MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Mailer: Microsoft Outlook 15.0 Thread-Index: AQGYmaaUCwtlrmE55CHyCSUXu9VHkgKopfE4AVtxnv8DArAuyQGfbhARAm8A8U6vTmV1YA== Content-Language: en-us List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk > 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. >=20 > 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. >=20 > > 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). >=20 > 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. >=20 > 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. >=20 > --strk; >=20 Sounds like a user and packaging nightmare to me. How is a packager to know which versions a user might have installed? and leaving that to users to run an extra command sounds painful. They = barely know how to run ALTER EXTENSION postgis UPDATE; Or pg_upgrade I much preferred the idea of just listing all our upgrade targets in the = control file. The many annoyance I have left is the 1000 of files that seem to grow = forever. This isn't just postgis. It's pgRouting, it's h3_pg, it's mobilitydb. I don't want to have to set this up for every single extension that does = micro-updates. I just want a single file that can list all the target paths worst case. 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 major.minor.micro In almost all cases the minor upgrade script works for all micros of = that minor and in postgis yes we have a single script that works for all = cases. Thanks, Regina =20