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 1u9Vot-002gRs-SG for pgsql-hackers@arkaria.postgresql.org; Mon, 28 Apr 2025 21:15:20 +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 1u9Vor-003GhJ-Ob for pgsql-hackers@arkaria.postgresql.org; Mon, 28 Apr 2025 21:15:18 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1u9Vor-003GhA-Dq for pgsql-hackers@lists.postgresql.org; Mon, 28 Apr 2025 21:15:18 +0000 Received: from fhigh-a5-smtp.messagingengine.com ([103.168.172.156]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1u9Vop-0004Sr-2w for pgsql-hackers@postgresql.org; Mon, 28 Apr 2025 21:15:18 +0000 Received: from phl-compute-07.internal (phl-compute-07.phl.internal [10.202.2.47]) by mailfhigh.phl.internal (Postfix) with ESMTP id D1D4C1140281; Mon, 28 Apr 2025 17:15:12 -0400 (EDT) Received: from phl-mailfrontend-02 ([10.202.2.163]) by phl-compute-07.internal (MEProxy); Mon, 28 Apr 2025 17:15:12 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=justatheory.com; h=cc:cc:content-type:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:subject:subject:to:to; s=fm2; t=1745874912; x= 1745961312; bh=cJCFtaHgcIdojDInftCPlstezJeRhS/Qa7TFJuqRUuw=; b=R e8RBz7iBDwSQN7eCN2xdvU+oOGXHbfzIGmXELnlyIXywLQv5FaZkOI4klMzev5R+ nnWcYSkodtvfGV2jfHdcM8IIhCek7q22A1L0vKGMS9+jBBxv+921lU6kDUejf0VB A8UDtZQSv3SVxi+8zm2TyAwUNSiFYKImicCpL7hylLMZviKNQDGb9yTkot0e9stI OkLGGapYGKS+az6BFlYseXmSrnmaG2dq2mlIKuLlws3S4RMG8Udg+Yqtv1AE2GUh TcCwVTDSQ/C5wAoVvRBiK5W4gqmUlePWoR+E+9VKP2ANlKqJO1XDAJp7DeTBDfHG z5rW8AorQ78lH/tl7Ehlw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t= 1745874912; x=1745961312; bh=cJCFtaHgcIdojDInftCPlstezJeRhS/Qa7T FJuqRUuw=; b=nWb2VRBn+qyVtEdJLhKJaRpx90hltt4FiGrVqUWuh8NBRKJrUoW P8SvOWIxh+JIhp8LATxkKR/LknI3hAIqlYmA80Ei4eQ9L5gcd0v94kiwb6M8fsFC nfAhqEyQPws4BK/SaFxmI9AzXp/y1EjqT/s7MJKJvFo1eCdlY3keaaQKt6Dy31Or RBNwncboKsea40bxXm0hRs75V4857PINs77t04ktkKC8Be2EXi4IS/jxjSsoxkRe ezT6kGPvUlvWPYGUjDFehwK3fYB01Z3/Cbk0G98p0IiEI5aSVLEOoNaE4MRHq6nJ 0jI0u0SlxdyiDApHwMm4NAM3sEEamET2hkQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddviedvtddtucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpih gvnhhtshculddquddttddmnecujfgurhephffktgggufffjgevvfhfofesghdtmherhhdt jeenucfhrhhomhepfdffrghvihguucfgrdcuhghhvggvlhgvrhdfuceouggrvhhiugesjh hushhtrghthhgvohhrhidrtghomheqnecuggftrfgrthhtvghrnhepveeivdehtdekueel ieegkeettdegheejhefhueeuvdduieevtdfgtdevhfdtleeknecuvehluhhsthgvrhfuih iivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepuggrvhhiugesjhhushhtrghthhgv ohhrhidrtghomhdpnhgspghrtghpthhtohepledpmhhouggvpehsmhhtphhouhhtpdhrtg hpthhtohepmhihohhnseguvggsihgrnhdrohhrghdprhgtphhtthhopehpvghtvghrsegv ihhsvghnthhrrghuthdrohhrghdprhgtphhtthhopehmrghthhgvuhhsshhsihhlvhelje esghhmrghilhdrtghomhdprhgtphhtthhopegrnhgurhgvfiesughunhhslhgrnhgvrdhn vghtpdhrtghpthhtohepghgrsghrihgvlhgvrdgsrghrthholhhinhhisegvnhhtvghrph hrihhsvggusgdrtghomhdprhgtphhtthhopegtrhgrihhgrdhrihhnghgvrhesvghnthgv rhhprhhishgvuggsrdgtohhmpdhrtghpthhtoheprhhosggvrhhtmhhhrggrshesghhmrg hilhdrtghomhdprhgtphhtthhopegrlhhvhhgvrhhrvgesrghlvhhhrdhnohdqihhprdho rhhgpdhrtghpthhtohepphhgshhqlhdqhhgrtghkvghrshesphhoshhtghhrvghsqhhlrd horhhg X-ME-Proxy: Feedback-ID: i7c334307:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon, 28 Apr 2025 17:15:10 -0400 (EDT) From: "David E. Wheeler" Message-Id: <58AF0B06-FC79-4D63-9DCC-BA52CCE12F22@justatheory.com> Content-Type: multipart/signed; boundary="Apple-Mail=_DF135BC6-5B7A-4DD3-B76D-2789FA536014"; protocol="application/pgp-signature"; micalg=pgp-sha256 Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3826.500.181.1.5\)) Subject: Re: RFC: Additional Directory for Extensions Date: Mon, 28 Apr 2025 17:14:58 -0400 In-Reply-To: Cc: Peter Eisentraut , Matheus Alcantara , Andrew Dunstan , Gabriele Bartolini , Craig Ringer , Robert Haas , Alvaro Herrera , PostgreSQL-development To: Christoph Berg References: <38c53446-6b65-4222-b76b-351e56f4841c@eisentraut.org> <7c178ff3-20a5-493e-a704-e6b3263e782f@eisentraut.org> <28e98657-9369-4539-9e06-9124d1e77853@eisentraut.org> <6B5BF07B-8A21-48E3-858C-1DC22F3A28B4@justatheory.com> <25075595-41F1-4BDA-9390-9E0D983BA909@justatheory.com> X-Mailer: Apple Mail (2.3826.500.181.1.5) List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --Apple-Mail=_DF135BC6-5B7A-4DD3-B76D-2789FA536014 Content-Type: multipart/mixed; boundary="Apple-Mail=_2B7AB77F-75C5-4913-8CEC-4D6FE27B8F76" --Apple-Mail=_2B7AB77F-75C5-4913-8CEC-4D6FE27B8F76 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 On Apr 25, 2025, at 15:23, David E. Wheeler = wrote: > Thank you for the review. Here=E2=80=99s v3*. V4 removes =E2=80=9C/extension=E2=80=9D from the end of the = `extension_control_path` value. Best, David --Apple-Mail=_2B7AB77F-75C5-4913-8CEC-4D6FE27B8F76 Content-Disposition: attachment; filename=v4-0001-Flesh-out-docs-for-the-prefix-make-variable.patch Content-Type: application/octet-stream; name=v4-0001-Flesh-out-docs-for-the-prefix-make-variable.patch; x-unix-mode=0644 Content-Transfer-Encoding: quoted-printable =46rom=208ff0470bd6b1110c43e9852c5196139df7b2734e=20Mon=20Sep=2017=20= 00:00:00=202001=0AFrom:=20"David=20E.=20Wheeler"=20= =0ADate:=20Mon,=2028=20Apr=202025=2017:13:20=20= -0400=0ASubject:=20[PATCH=20v4]=20Flesh=20out=20docs=20for=20the=20= `prefix`=20make=20variable=0A=0AThe=20variable=20is=20a=20bit=20magical=20= in=20how=20it=20requires=20"postgresql"=20or=20"pgsql"=0Ato=20be=20part=20= of=20the=20path,=20and=20files=20end=20up=20in=20its=20`share`=20and=20= `lib`=0Asubdirectories.=20So=20mention=20all=20that=20and=20show=20an=20= example=20of=20setting=0A`extension_control_path`=20and=20= `dynamic_library_path`=20to=20use=20those=0Alocations.=0A---=0A=20= doc/src/sgml/extend.sgml=20|=2033=20+++++++++++++++++++++++++++++----=0A=20= 1=20file=20changed,=2029=20insertions(+),=204=20deletions(-)=0A=0Adiff=20= --git=20a/doc/src/sgml/extend.sgml=20b/doc/src/sgml/extend.sgml=0Aindex=20= 64f8e133cae..68358a5b15f=20100644=0A---=20a/doc/src/sgml/extend.sgml=0A= +++=20b/doc/src/sgml/extend.sgml=0A@@=20-1809,10=20+1809,35=20@@=20= include=20$(PGXS)=0A=20=20=20=20=20setting=20= PG_CONFIG=20to=20point=20to=20its=0A=20=20=20=20=20= pg_config=20program,=20either=20within=20the=20= makefile=0A=20=20=20=20=20or=20on=20the=20make=20= command=20line.=0A-=20=20=20=20You=20can=20also=20select=20a=20separate=20= installation=20directory=20for=20your=20extension=0A-=20=20=20=20by=20= setting=20the=20make=20variable=20= prefix=0A-=20=20=20=20on=20the=20= make=20command=20line.=20=20(But=20this=20will=20then=20= require=0A-=20=20=20=20additional=20setup=20to=20get=20the=20server=20to=20= find=20the=20extension=20there.)=0A+=20=20=20=0A+=0A+=20=20=20= =0A+=20=20=20=20You=20can=20also=20select=20a=20separate=20= directory=20prefix=20in=20which=20to=20install=20your=0A+=20=20=20=20= extension's=20files=20by=20setting=20the=20make=20= variable=0A+=20=20=20=20prefix=20when=20executing=20= make=20install=0A+=20=20=20=20like=20so:=0A= +=0A+make=20install=20prefix=3D/usr/local/postgresql=0A= +=0A+=20=20=20=20This=20will=20install=20the=20control=20= SQL=20files=20into=0A+=20=20=20=20= /usr/local/postgresql/share=20and=20shared=20modules=20= into=0A+=20=20=20=20/usr/local/postgresql/lib.=20If=20= the=20prefix=20does=20not=0A+=20=20=20=20include=20the=20strings=20= postgres=20or=0A+=20=20=20=20= pgsql,=20such=20as:=0A+=0A+make=20= install=20prefix=3D/usr/local/extras=0A+=0A+=20=20=20=20= Then=20the=20postgresql=20directory=20will=20be=20= appended=20io=20the=0A+=20=20=20=20prefix,=20installing=20the=20control=20= and=20SQL=20files=20into=0A+=20=20=20=20= /usr/local/extras/postgresql/share/extension=20and=20= shared=0A+=20=20=20=20modules=20into=20= /usr/local/extras/postgresql/lib.=20Either=0A+=20=20=20= =20way,=20you'll=20need=20to=20set=20=20and=0A+=20=20=20=20=20to=20allow=0A+=20=20=20=20= PostgreSQL=20to=20find=20the=20files:=0A= +=0A+extension_control_path=20=3D=20= '/usr/local/extras/postgresql/share:$system'=0A+dynamic_library_path=20=3D= =20'/usr/local/extras/postgresql/lib:$libdir'=0A+=20=0A=20= =20=20=20=0A=20=0A=20=20=20=20=0A--=20=0A2.49.0=0A=0A= --Apple-Mail=_2B7AB77F-75C5-4913-8CEC-4D6FE27B8F76-- --Apple-Mail=_DF135BC6-5B7A-4DD3-B76D-2789FA536014 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEd+KfmbOQis6ZycGGkt9idPjIgfEFAmgP79IACgkQkt9idPjI gfG2/BAAh2dXhGQe4BRQDcGavVJmWsJGRXFu92+kdx/mQ02nHYT0LVsXsNDipxS5 hpoDT+XNhnBN9Csj8zDn/OzpPgNdqNhkPgumoPbsEc0cyi5lk6x0G6G1vxwwyhkc 0aQzAixVXcJM9CicevqRQ4xrk2COAMyAiKG1V8JlplwLwhO/mPutx0t6Gct09DZo smLMw2yCSX42fIRksR9woKswqnvy/AdPs9s5lqUCpOfYx3A87giOsOOdNo8R/9m0 J5tA2t5YDNGisFPHAfnpduA/MHplVMoo53wD4CBSy4H3S0KasPTO0Pu/x/yI1rsY 5uobds1Nd1GY2m2wPVwsFAnsVGYmSUlhfs3jL/T5YWhR4LpgXcs070W/uRFoPvYa guGelTm9foGLA827aINtJqPN1+ojY3VMH14cA7oNzy0bDS87Xj/TYfYupCKoQExD LgxZXVla0WT/QQrEFzgxadpo3/wND6PIIF8n3VaSEsQW9f4vVyyM+KpA3n79qKmy XRGkzQ0zvv7h0JMiizyTcatLI3lLZqz+hz3OyVDhzhZwFL4x1ExakT+JAo7H8vyE Y29pgUZucSpgiqhAPIi+hHbRR7fWieq3GDnOPfcRE6+8gVicqGquQBvBxri5VDk7 iwgxht1HpOYReiq8ODmllZUz9ow9L0kBFhTaavuHM1glDOSQJs4= =T/7L -----END PGP SIGNATURE----- --Apple-Mail=_DF135BC6-5B7A-4DD3-B76D-2789FA536014--