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 1osxXl-0001Pf-KM for pgsql-hackers@arkaria.postgresql.org; Thu, 10 Nov 2022 02:43:53 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1osxXj-0004qS-Et for pgsql-hackers@arkaria.postgresql.org; Thu, 10 Nov 2022 02:43:51 +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 1osxXj-0004qB-0q for pgsql-hackers@lists.postgresql.org; Thu, 10 Nov 2022 02:43:51 +0000 Received: from mail-qk1-x72d.google.com ([2607:f8b0:4864:20::72d]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1osxXg-0005g9-4x for pgsql-hackers@postgresql.org; Thu, 10 Nov 2022 02:43:50 +0000 Received: by mail-qk1-x72d.google.com with SMTP id z1so410154qkl.9 for ; Wed, 09 Nov 2022 18:43:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pcorp-us.20210112.gappssmtp.com; s=20210112; h=content-language:thread-index:content-transfer-encoding :mime-version:message-id:date:subject:to:from:from:to:cc:subject :date:message-id:reply-to; bh=36LkSphGR9lpc7iV8ZelxjMebtzD52WmuK5Mfy3t5T0=; b=AiftLyuwviozIga/A48tO0W6yjaxHSpzQ0zSaZuQ+fw7AF8UeOhT+A9UWk84fVSpKj zyHKXFdJG7KFjGfFDLGaXInD/8EUmMP0pfmRAJJM3U0CrEpwRJ0hflvvbiPswzoqbH1J XIdWg751plk1csl3VNe5X1GZ2cdCQBrLallCPzUIzpMUR/xlsVvUF7mshxI9I8AUu4Ia WMf6PVeC//ud/ubq6bq6gw9rJ3jCFUlbHd+pgMz8T2Nn9ujGG2vLXWV4z4syv5jcfp+z P3Gnzr0MXd3SDpUSHVzU2MFP0qHmq4g+PN73e/TWlMsl874eHz2WyWaYr1p2XC3G2ptv 4eWA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-language:thread-index:content-transfer-encoding :mime-version:message-id:date:subject:to:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=36LkSphGR9lpc7iV8ZelxjMebtzD52WmuK5Mfy3t5T0=; b=oI6Octe4/yDPcVjLgZ5sm48vDIfD/g7stceZd7BssjBosJDJaXdqIAcFN3T4bM5gVj uVb+AmfGpaWjWqcF4lr5R/kVEviL+EzVxGUtAZTTqOLqAF0rID/VXroreOKu81stWi+q NbBz9s4o1M1RGQOdsH2vcgYnItGvjqRtE7H8xQXk9lWicutzgR7VNa7VklWmEH0VJooR hrKROK2emtSeidcim2BTTtG83i9IN5afvozevZuCxsZ7KjLhU+F1Er/8UGqMgZxb521V HTON7edy49rSBiEl9ioj7U5m4IcPt3oFyoMj5uXc/vYg/Ys49sStrDyn/XawbK/2DQWY pmmw== X-Gm-Message-State: ACrzQf2P65kO3SH/sUdI66cwtgRRjv5ysFpx9LJOUbJ+D3LyTl646M1t TPE0wEdk1R9gU4ftEQAXqksIJFtkm+cmUw== X-Google-Smtp-Source: AMsMyM6muSjGO18BcafA3oZyjuuB9ENOFBJA6qbYWtuHUcn3ZgB2G2l2ZaR0Pg8GozYombLdaDCAZA== X-Received: by 2002:a05:620a:5319:b0:6fa:4c1b:f054 with SMTP id oo25-20020a05620a531900b006fa4c1bf054mr34297105qkn.15.1668048226114; Wed, 09 Nov 2022 18:43:46 -0800 (PST) Received: from F (50-78-240-110-static.hfc.comcastbusiness.net. [50.78.240.110]) by smtp.gmail.com with ESMTPSA id f39-20020a05622a1a2700b003a586888a20sm7775246qtb.79.2022.11.09.18.43.45 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 09 Nov 2022 18:43:45 -0800 (PST) From: "Regina Obe" To: Subject: Ability to reference other extensions by schema in extension scripts Date: Wed, 9 Nov 2022 21:43:43 -0500 Message-ID: <003001d8f4ae$402282c0$c0678840$@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: Adj0rQxwug+M9ce1Rae/qiowRn2G5A== Content-Language: en-us List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk I think I had brought this up a while ago, but I forget what the opinion was on the matter. PostGIS has a number of extensions that rely on it. For the extensions that are packaged with PostGIS, we force them all into the same schema except for the postgis_topology and postgis_tiger_geocoder extensions which are already installed in dedicated schemas. This makes it impossible for postgis_topology and postgis_tiger_geocoder to schema qualify their use of postgis. Other extensions like pgRouting, h3-pg, mobilitydb have similar issues. My proposal is this. If you think it's a good enough idea I can work up a patch for this. Extensions currently are allowed to specify a requires in the control file. I propose to use this information, to allow replacement of phrases @extschema_nameofextension@ as a variable, where nameofextension has to be one of the extensions listed in the requires. The extension plumbing will then use this information to look up the schema that the current required extensions are installed in, and replace the variables with the schema of where the dependent extension is installed. Does anyone see any issue with this idea. Thanks, Regina