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 1ntCf6-00045A-MJ for pgsql-hackers@arkaria.postgresql.org; Mon, 23 May 2022 18:20:12 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1ntCf5-0002Hx-GK for pgsql-hackers@arkaria.postgresql.org; Mon, 23 May 2022 18:20:11 +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 1ntCf5-0002Hn-7I for pgsql-hackers@lists.postgresql.org; Mon, 23 May 2022 18:20:11 +0000 Received: from sss.pgh.pa.us ([66.207.139.130]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1ntCey-0007yW-TL for pgsql-hackers@postgresql.org; Mon, 23 May 2022 18:20:10 +0000 Received: from sss1.sss.pgh.pa.us (localhost [127.0.0.1]) by sss.pgh.pa.us (8.15.2/8.15.2) with ESMTP id 24NIK29l1306839; Mon, 23 May 2022 14:20:02 -0400 From: Tom Lane To: Nathan Bossart cc: pgsql-hackers@postgresql.org Subject: Re: allow building trusted languages without the untrusted versions In-reply-to: <20220523173805.GB939874@nathanxps13> References: <20220520225619.GA876272@nathanxps13> <571753.1653092411@sss.pgh.pa.us> <20220523165403.GC938919@nathanxps13> <1290329.1653326228@sss.pgh.pa.us> <20220523173805.GB939874@nathanxps13> Comments: In-reply-to Nathan Bossart message dated "Mon, 23 May 2022 10:38:05 -0700" MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <1306837.1653330002.1@sss.pgh.pa.us> Date: Mon, 23 May 2022 14:20:02 -0400 Message-ID: <1306838.1653330002@sss.pgh.pa.us> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Nathan Bossart writes: > That's a reasonable point. I'll go ahead an explore some options for > something along those lines. A couple of questions immediately come to > mind. For example, should this configuration option just cause these > functions to ERROR, or should it compile them out? Letting them be present but throw error is likely to be far less painful than the other way, because then you don't need a separate set of SQL-visible object definitions. You could, in fact, imagine jacking up an existing database and driving a set of locked-down binaries under it --- or vice versa. If there have to be different versions of the extension SQL files for the two cases then everything gets way hairier, both for developers and users. regards, tom lane