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 1pmKis-0008O0-Ko for pgsql-hackers@arkaria.postgresql.org; Tue, 11 Apr 2023 20:36:14 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1pmKir-0005ZO-Fj for pgsql-hackers@arkaria.postgresql.org; Tue, 11 Apr 2023 20:36:13 +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 1pmKir-0005ZE-1t for pgsql-hackers@lists.postgresql.org; Tue, 11 Apr 2023 20:36:13 +0000 Received: from mail-qt1-x831.google.com ([2607:f8b0:4864:20::831]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1pmKil-0007pa-U4 for pgsql-hackers@lists.postgresql.org; Tue, 11 Apr 2023 20:36:12 +0000 Received: by mail-qt1-x831.google.com with SMTP id cg4so1206736qtb.11 for ; Tue, 11 Apr 2023 13:36:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pcorp-us.20210112.gappssmtp.com; s=20210112; t=1681245367; x=1683837367; 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=W/v6IIfwQ6vaYAnH7e58JCc0dSzEmzKttAtcSvw3+Bs=; b=sy0MgM2GDoF1LyWMzbfQa0HPt8UCOaOazwplgy1GA3mx1hKVu1zP7H5OjWXPU36lWE OQmHReS3Ckc+mJkaGUZ9GMvB4Nh5Z9roM/iYFfWsq7cHFPPADqPAVLojq+ImevMN34IZ E1XdxCLH3PQ3U6IDsUgZ68mV81X6M9qqH+K8AXbcMEphGkS3lwbjn9NZwHa8HZKgscia 6268+o4pxhKVV1TkUGrEPZFrOi4O1pUWSTsIPa0p8rHwtNShcoze9q9UxEntH94WppZA 2HPAemitfwFpZxIBTRvKxsUc+N8Pmj0sWYmXz92FFUmADtIsYFW+yU5zpc3sHbLXTNtF tAjQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1681245367; x=1683837367; 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=W/v6IIfwQ6vaYAnH7e58JCc0dSzEmzKttAtcSvw3+Bs=; b=M7bTCepxOUOhfXSBpRBIN0XTEaOoWyI/n5brR7Gr8bDOwLPDM6FzWS00bRU8rxS1W2 JaxHAoAOfvLg940v47y5LVMLWMb3rnUDAsWIgi0qpP5/s5vX+RuMFBIEfHeu5KYeWfab tUKF44wsIFvuThOxHz/AH92zpp8mPjJ3FtAE75HBQUGsT2Mn9XxdZa2O0JtkScKK9Ljw vsFrn36QzcwbrgjUUBG0GiQ/mhOKJjLNFN3IurBPkjIcJq6vU5wX/Azvy0c3uWOy6n6e UepF1HZ3lQ/m7LRzmAH5o/TT+EwpfY+QHhqR1hLf4oR2cZiV20T9Pw2VOjR4FN5GA73I QpVQ== X-Gm-Message-State: AAQBX9dZXhBgUkaZX9QNlPw/+AX9RwrpK2FP1vgfKnBr8vcLTnHKnUZc LaGBufHgwbP2TXllOEmX3jR9T0IQiakSIcQpIIk= X-Google-Smtp-Source: AKy350YR2lgDUC4kT+flRLRdJxAcb0LMPsgMDEqSnPkAMMXvTuBOYTuR7XjG8iXl3+TlxeKTabvC6A== X-Received: by 2002:a05:622a:14cf:b0:3bf:c3be:758e with SMTP id u15-20020a05622a14cf00b003bfc3be758emr441628qtx.16.1681245366817; Tue, 11 Apr 2023 13:36:06 -0700 (PDT) Received: from F (50-78-240-110-static.hfc.comcastbusiness.net. [50.78.240.110]) by smtp.gmail.com with ESMTPSA id 23-20020a370b17000000b0074abef82b6esm145954qkl.53.2023.04.11.13.36.06 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 11 Apr 2023 13:36:06 -0700 (PDT) From: "Regina Obe" To: Cc: "'Yurii Rashkovskii'" , "'Tom Lane'" , "'Regina Obe'" , 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> <20230411184823.s3cctaf63qvfeqlj@c19> In-Reply-To: <20230411184823.s3cctaf63qvfeqlj@c19> Subject: RE: [PATCH] Support % wildcard in extension upgrade filenames Date: Tue, 11 Apr 2023 16:36:04 -0400 Message-ID: <006201d96cb5$3d23b150$b76b13f0$@pcorp.us> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Mailer: Microsoft Outlook 15.0 Thread-Index: AQGYmaaUCwtlrmE55CHyCSUXu9VHkgKopfE4AVtxnv8DArAuyQGfbhARAm8A8U4CpUA3zwGDW9/Ery45BzA= Content-Language: en-us List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk > Packager might actually know better in that they could ONLY consider the > packages ever packaged by them. > I'm a special case packager cause I'm on the PostGIS project and I only package postgis related extensions, but even I find this painful. But for most packagers, I think they are juggling too many packages and too many OS versions to micro manage the business of each package. In my case my job is simple. I deal just with Windows and that doesn't change from Windows version to Windows version (just PG specific). Think of upgrading from Debian 10 to Debian 12 - what would you as a PG packager expect people to be running and upgrading from? They could be switching from say the main distro to the pgdg distro. > Hey, best would be having support for wildcard wouldn't it ? > For PostGIS yes and any other extension that does nothing but add new functions or replaces existing ones. For others some minor handling would be ideal, though I guess some other projects would be happy with a wildcard (e.g. pgRouting would prefer a wildcard) since most of the changes are just additions of new functions or replacements of existing functions. For something like h3-pg I think a simpler micro handling would be ideal, though not sure. They ship two extensions (one that is a bridge to postgis and their newest takes advantage of postgis_raster too) https://github.com/zachasme/h3-pg/tree/main/h3_postgis/sql/updates https://github.com/zachasme/h3-pg/tree/main/h3/sql/updates Many of their upgrades are No-ops cause they really are just lib upgrades. I'm thinking maybe we should discuss these ideas with projects who would benefit most from this: (many of which I'm familiar with because they are postgis offsprings and I package or plan to package them - pgRouting, h3-pg, pgPointCloud, mobilityDb, Not PostGIS offspring: ZomboDB - https://github.com/zombodb/zombodb/tree/master/sql - (most of those are just changing versioning on the function call, so yah wildcard would be cleaner there) TimescaleDB - https://github.com/timescale/timescaledb/tree/main/sql/updates ( I don't think a wildcard would work here especially since they have some downgrade paths, but is a useful example of a micro-level extension upgrade pattern we should think about if we could make easier) https://github.com/timescale/timescaledb/tree/main/sql/updates > > 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 already do, remember you wrote it :) https://git.osgeo.org/gitea/postgis/postgis/src/branch/master/extensions/upg radeable_versions.mk Yes it does require manual updating each release cycle (and putting in versions from just released stable branches). I can live with continuing with that exercise. It was a nice to have but is not nearly as annoying as 1000 scripts or as a packager trying to catalog what versions of packages have I released that I need to worry about. > > 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; I'm a woman of compromise. Sure 1 file would be ideal, but I'd rather live with a big file listing all version upgrades than 1000 files with the same information. It's cleaner to read a single file than make sense of a pile of files.