Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1tZ3Bt-000Cme-Vp for pgsql-hackers@arkaria.postgresql.org; Sat, 18 Jan 2025 07:24:23 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1tZ3Bs-00G53g-Gm for pgsql-hackers@arkaria.postgresql.org; Sat, 18 Jan 2025 07:24:20 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1tZ3Br-00G53X-Vw for pgsql-hackers@lists.postgresql.org; Sat, 18 Jan 2025 07:24:20 +0000 Received: from 1.mo582.mail-out.ovh.net ([46.105.56.136]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1tZ3Bo-000ACh-0l for pgsql-hackers@lists.postgresql.org; Sat, 18 Jan 2025 07:24:19 +0000 Received: from director10.ghost.mail-out.ovh.net (unknown [10.108.9.185]) by mo582.mail-out.ovh.net (Postfix) with ESMTP id 4YZp4q3Kwgz1NFJ for ; Sat, 18 Jan 2025 07:24:11 +0000 (UTC) Received: from ghost-submission-5b5ff79f4f-gpd49 (unknown [10.108.54.132]) by director10.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 67EF81FD32; Sat, 18 Jan 2025 07:24:09 +0000 (UTC) Received: from darold.net ([37.59.142.109]) by ghost-submission-5b5ff79f4f-gpd49 with ESMTPSA id LKwJKxhXi2cdBwAArAfc0Q (envelope-from ); Sat, 18 Jan 2025 07:24:09 +0000 Authentication-Results: garm.ovh; auth=pass (GARM-109S0032a980967-32f1-4eac-bdc7-5a2b98de5920, 06CAC80518F10BBB6EC74F1E2BF87F715316DD8F) smtp.auth=gilles@darold.net X-OVh-ClientIp: 102.17.117.225 Message-ID: <82636335-245d-4de0-9c21-a94dbf9ff5d0@darold.net> Date: Sat, 18 Jan 2025 10:24:04 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Fwd: Re: proposal: schema variables To: Bruce Momjian , Pavel Stehule Cc: PostgreSQL Hackers References: Content-Language: en-US From: Gilles Darold Autocrypt: addr=gilles@darold.net; keydata= xsBNBEyscTYBCADOHjxbECHbFaVEA8fKAh8gtdRMKCXPhYwgrhIq+435c824l0NkxxT6xAq/ U2embiCGSBy13yVT016bzcxOnOqxgw4dJgXPE1P6RYLgjd17c5Xt7uzkbn4ChO1LOVtx+7y/ uf8GV1fiPTtnilzGQvWdXMDDTNaFbyfIsebE6rB2p47Ns0m+cj46hS22pmEWELM4RilmQ2MX X7vNZPxQ/C6SKQDgeGZSHrvw9OLzFty8yY7HnExfUmCzfN4asAH3q/lCu1YQgud84bCC6hXz Cbw/DvR7pW8QK/ej/UkNzeGUWsWX6GYDF26P3wO9Zqk5T8JixrveiCaWA/e4DR5yr2bTABEB AAHNIUdpbGxlcyBEYXJvbGQgPGdpbGxlc0BkYXJvbGQubmV0PsLAjgQTAQoAOBYhBEnFnv37 SNFcBZKyn3AqzJ89qW5hBQJfxQsiAhsjBQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJEHAq zJ89qW5hjXsIAI53R1IdrgOia4DCtL1hK3+nbqPYYAhHAbQa54V/oHFEuXubH5F+mEBRT12M XNibbPvOCVUHTa46CuYLyBY6GZZ83fYpPZ3IQIavCDiLmpANR7rOoVmGERKs8VLVnQuJ1a+q BObwo1WKOFiqR1UEeT3hfytsmJVan8l2GzNFA+OOwIGEPdLLEpuSO9K3uyEa5FMNxXVWDROR MIHWvcS/RLlJby9GgLUIbLCXYXNrxncQajPs4P/TLS7fsW36laBPHIBoGbIBkgGIlpXhuTj2 PY95YOfyFelXW3AL6oXOncmV9SkfaE2iIpc33FIrN3pEbIC4XEqMANKjidFXcdM3+JfOwE0E TKxxNgEIALVvukwz2p2Vw37pnMk2CGWCgoj76Lnts/3sG42Jw6Ewjvjg7u9SGg2fJJ4dzywc oBW5ufJlZalghO3RpbZqDwT2432CUdGG500GLLzYrHIhGBw8h9SkoJqnfel3MOjGy/HZMymK mCy/uqx3ti3Tp0l0Is38C7GK/lG3NKnYUwQuFaM2pDkIoIx3hyogGXEMwV+IHtYpvFroCBVi CgkYubsOEfqJti40BMXJfKv74ecDk43I7x9V6Pzt0j0rfmj4vFbSKHF6ptJNeZBrXrNSeTmf AJXaPD/olDLEStWu6cr5XyMmYxYE9D2eMOQHhFb7UOZdh++HhWcPxMMyKNNB2YsAEQEAAcLA XwQYAQIACQUCTKxxNgIbDAAKCRBwKsyfPaluYZETB/91iP031oHNFMU62RC8x+bERW5x6Dpu 7Kk9rOSKf7ChcSWElBQ2A7OnNAACgPNbJgYyuEquYHTdXLP43phNDJ93EhL+af5z2BLx1gkd V+1rotlzbzIaUv9uofRWU6UJ/emgL3kn1TRmf3PKWWgJkHRlePqKDeNVc53uApbXHoNrS4ul uiwD88mx3+xgZqteCQO2DhEpAckzki82S4n4Ww6fRFB3KIGyafO7fzHFK8cFuT4za4YUFQN9 Ix6WTABleoRLz3Cn+Jde049Zhg1222l0N07KWRS3ZZxAhwr3rv+pg3cJdbNf/rDszym92rig 79SbGEEuL3nFCUXmA/QRIE+v In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Ovh-Tracer-Id: 6276610506422460029 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: -100 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgeefuddrudeigedguddthecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfqggfjpdevjffgvefmvefgnecuuegrihhlohhuthemucehtddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjughrpefkffggfgfuvfevfhfhjggtgfesthekredttddvjeenucfhrhhomhepifhilhhlvghsucffrghrohhlugcuoehgihhllhgvshesuggrrhholhgurdhnvghtqeenucggtffrrghtthgvrhhnpeeugeeljeehgfeijedvueetudejhfdtueejveeludfhfeeukedtheehteevhfekieenucffohhmrghinhepuggrrhholhgurdhnvghtnecukfhppeduvdejrddtrddtrddupddutddvrddujedruddujedrvddvhedpfeejrdehledrudegvddruddtleenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpeduvdejrddtrddtrddupdhmrghilhhfrhhomhepghhilhhlvghssegurghrohhlugdrnhgvthdpnhgspghrtghpthhtohepuddprhgtphhtthhopehpghhsqhhlqdhhrggtkhgvrhhssehlihhsthhsrdhpohhsthhgrhgvshhqlhdrohhrghdpoffvtefjohhsthepmhhoheekvdgmpdhmohguvgepshhmthhpohhuth DKIM-Signature: a=rsa-sha256; bh=wEpV+TvobQAxjQoRwBCqbYOdh8lLqY02HMVq0g1jP2A=; c=relaxed/relaxed; d=darold.net; h=From; s=ovhmo452075-selector1; t=1737185051; v=1; b=oUpJCIS1nh6D7OI1Swhiwu5qzmoC681Sa4AjRQHOMqd1ck5uRjNXWfrjRYI3ejEBLLqhsLUf qGzdKIWFiKRuqCAb7bSG/ZfRPjV22NhD1CBna7/+rGIBRjKviAkWINt2Z4a+PNQuMsx/uJfgHV3 sKqe2NmrgRE0g3ECacT2tatPi7OkyidFFa+tctwtA7xLMsQCc9Yq3wa/FO7k0iqPS7SN29J6chD 252Sg1NZJuCWL+UuuvHXLA4Z7yfR19K8LyIeHktlDJ7DFVyYzBigVguUUMQI0kShc5Gc29UjyVG blf/OnnO+8klMv8DLhDID2f4KkxtForJaFP4LU5KIpsXg== List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Le 17/01/2025 à 19:01, Bruce Momjian a écrit : > On Fri, Jan 17, 2025 at 04:55:07PM +0100, Pavel Stehule wrote: >> pá 17. 1. 2025 v 16:35 odesílatel Bruce Momjian napsal: >> >> So this feature would be like global GUC variables, with permission >> control? >> >> + types and domain type check - holds data in binary form - there are not >> conversions binary, text >> + it is declared - so less space for misuse is there. Custom GUC are absolutely >> tolerant >> + it is a fully database object, only owner can alter it,  and event triggers >> are supported, sinval >> + possibility to set mutability, default value > Okay, good summary. Now, can people give feedback that they would want > this committed to PostgreSQL? > For me, this is a must have. Not only because of the huge amount of time that we will save in migration to PostgreSQL (i know that this is not an argument) but because the only way we have to emulate such feature is to use custom configuration directives or a PL language that allows global variable. I have question almost every week on how to do that and the only answer I have is do this ugly pl/pgsql coding. It will be nice to have a feature to do that. Thanks Pavel and all involved in this implementation. -- Gilles Darold http://www.darold.net/