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.96) (envelope-from ) id 1w083D-001doK-1x for pgsql-hackers@arkaria.postgresql.org; Wed, 11 Mar 2026 01:07:51 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w083A-006xUQ-1K for pgsql-hackers@arkaria.postgresql.org; Wed, 11 Mar 2026 01:07:48 +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.96) (envelope-from ) id 1w0839-006xUH-1S for pgsql-hackers@lists.postgresql.org; Wed, 11 Mar 2026 01:07:48 +0000 Received: from fhigh-b5-smtp.messagingengine.com ([202.12.124.156]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1w0837-00000001XBY-44fN for pgsql-hackers@lists.postgresql.org; Wed, 11 Mar 2026 01:07:47 +0000 Received: from phl-compute-11.internal (phl-compute-11.internal [10.202.2.51]) by mailfhigh.stl.internal (Postfix) with ESMTP id D6E627A0154 for ; Tue, 10 Mar 2026 21:07:44 -0400 (EDT) Received: from phl-frontend-03 ([10.202.2.162]) by phl-compute-11.internal (MEProxy); Tue, 10 Mar 2026 21:07:44 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=paquier.xyz; h= cc:content-type:content-type:date:date:from:from:in-reply-to :message-id:mime-version:reply-to:subject:subject:to:to; s=fm1; t=1773191264; x=1773277664; bh=wWGUbf7lPwsdkyCiWPMRGFmIkqZqCZyP FnmqUAGr5zM=; b=Ot2Xo5w5wUBzXZqrtL+9syyOQWLR8wGyL5Xpa9Q5f0UZZuu5 3OW24nI0q6tgjBshgO7GYJnDby1AJgkrzOi6qtI2yx1uz7UqnhvKtqhuqiJCLq0C msiHQ7KEOpNmc2r+ol4OLqvQHmdH9GgURkvUdbXvCDPeOKMaN78G9lj1pv5ZcZVx cwSXj7YlXTojvhrKWveLpaDZUnLqqQPZiGWzpMrRhiKfsh7gkYSz55C1LGCbZMxC S19ry+5M1vwbVQUdEHYHbSAC4kyQys9hw/Rks8WFZuZr9DvorfY5FkFhcX9yChCA XP71aPK1HAUulFzTYJX/fZ5QmEV4nedKoYT2Lg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:message-id :mime-version:reply-to:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1773191264; x= 1773277664; bh=wWGUbf7lPwsdkyCiWPMRGFmIkqZqCZyPFnmqUAGr5zM=; b=X gAJkCiKJwtQrNnVU/sTY48y/LaPNUjRcUkArAXP8tleb/lDsPISXyu3RW5m1+Sos 8LDPXsrznEjAVGUI2AxIU0NlsalHUYuZimeuOrh1R2+NhJgo7oTG7J5ALrSaXCp8 aXLuS965uRcOFpW2zZlQFgyi/3DPuUleLTC+aMhlaOlSXTQ85Cfo6SDCihF+t8FP UwFA2ghX1I4fQ97YoYddrTCg90Fr/l+sR8FBJfHiVCxKII8DEWUfFKUl0Pd1kTex c9sgPueboEEZjRNBbqWWL4CT7DAbVHud6AQEST5LuyDKN8s/r7dW2ECESdW8p8cJ agRpGarrCkwxTIEuZj4QA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefgedrtddtgddvkedvheegucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu rghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnegfrh hlucfvnfffucdljedtmdenucfjughrpeffhffvuffkgggtugesghdtroertddtvdenucfh rhhomhepofhitghhrggvlhcurfgrqhhuihgvrhcuoehmihgthhgrvghlsehprghquhhivg hrrdighiiiqeenucggtffrrghtthgvrhhnpeeiffeijeeigfduudegtdekteduheeihfdu udefudfggfeulefftedtjeejfeevteenucevlhhushhtvghrufhiiigvpedtnecurfgrrh grmhepmhgrihhlfhhrohhmpehmihgthhgrvghlsehprghquhhivghrrdighiiipdhnsggp rhgtphhtthhopedupdhmohguvgepshhmthhpohhuthdprhgtphhtthhopehpghhsqhhlqd hhrggtkhgvrhhssehlihhsthhsrdhpohhsthhgrhgvshhqlhdrohhrgh X-ME-Proxy: Feedback-ID: i0fe9450f:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA for ; Tue, 10 Mar 2026 21:07:43 -0400 (EDT) Date: Wed, 11 Mar 2026 10:07:39 +0900 From: Michael Paquier To: Postgres hackers Subject: Add documentation for PG_ABS_SRCDIR, PG_ABS_BUILDDIR, PG_LIBDIR, PG_DLSUFFIX Message-ID: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="QU91rVFGL/fek8jV" Content-Disposition: inline List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --QU91rVFGL/fek8jV Content-Type: multipart/mixed; boundary="u7ieWKw/7Aa48+4t" Content-Disposition: inline --u7ieWKw/7Aa48+4t Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi all, d1029bb5a26c has switched the in-core tests suited based on pg_regress to do path substitutions based on the set of environment variables listed in $subject, rather than replacements based on input and output files, generating new files. These can be really useful for extension developers who maintain SQL test suites, so how about documenting them? I'd like to propose the attached patch, for HEAD, so as one does not need to guess their existence from the SQL files or pg_regress.c. Thoughts or comments? -- Michael --u7ieWKw/7Aa48+4t Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename=doc-path-subs.patch Content-Transfer-Encoding: quoted-printable diff --git a/doc/src/sgml/regress.sgml b/doc/src/sgml/regress.sgml index d80dd46c5fdb..e3c4a0525ad7 100644 --- a/doc/src/sgml/regress.sgml +++ b/doc/src/sgml/regress.sgml @@ -444,6 +444,59 @@ make check LANG=3DC ENCODING=3DEUC_JP =20 + + Path Substitution + + + The test suites driven by pg_regress can use the + following environment variables for path substitutions: + + + + PG_ABS_SRCDIR + + + Absolute path to the source directory. + + + + + + PG_ABS_BUILDDIR + + + Absolute path to the build directory. + + + + + + PG_DLSUFFIX + + + Name of extension for dynamically-loadable modules (e.g. + .so on Linux). + + + + + + PG_LIBDIR + + + Absolute path to dynamic libraries. + + + + + + These are useful when dealing with function and object loading + that require specific paths to work, like paths defined in a + CREATE FUNCTION or LOAD + command, for example. + + + Custom Server Settings =20 --u7ieWKw/7Aa48+4t-- --QU91rVFGL/fek8jV Content-Type: application/pgp-signature; name=signature.asc -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEG72nH6vTowiyblFKnvQgOdbyQH0FAmmwwFsACgkQnvQgOdby QH3hew//WTKoJSyGZc7JatM5qGwRrRTTDk58FYxYul/a5kktUKSJXn0hHXVEEcV6 zC4x1LKcb5fie70cejNWwaKGRzmIfuTo3/ZN+s67uzWPkSKy5FVMnx0WQwp9/j3z LM0DL7FWuaKYb/riGiOkzogazbEyWQbw206XTac3AdnuNy7n9kMH8TXSMhIbLGGa ZHPtbRDi+0vJ3pLYOQ79VyjQOCAOHVExRh78rHfnqNvR9O78TttK8RhI9GOfDDZZ KiKT35fBV1CWUl6378OiPOrjo8eoDjbKm2pMuPvj+QMvUX1ncoNsk9dsrrOr2nH8 dZi0i9pyKUR21BLNcUD9MgE7fhaGHL7FcAj+8G0OiqQr3QGC4FHSyNEM9V0g5Wo1 a0UmW6+YTjku9ps1D5ASguH38Fu5CpTPiyTjuTEiXCReUVjhbQgUOWedpEwgcAvT nOtoOB+JnO9jqJylU9i1g1h1ldtR2azx9SuZBpvFn/FipNT8IDGevdKSLoKMaF54 NfjuVSeOb03epgb+r9GymE0pkUXhHvt4VHC6Pkn3yukqZ6gNg5JWXMZ/4T03cNs1 E05KuJPIsZurAm0/zcpY858fXiywQyPxlldQXZXV3bQOSUlDLqLB10M3+oRvt50Z 1757l8kc921rbNmPILs6N9oxURsT5tuU9f7zrTenE07e2mgxgJU= =mevh -----END PGP SIGNATURE----- --QU91rVFGL/fek8jV--