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 1qq8aY-008IeO-R1 for pgsql-hackers@arkaria.postgresql.org; Tue, 10 Oct 2023 08:59:39 +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 1qq8aW-0067pq-G4 for pgsql-hackers@arkaria.postgresql.org; Tue, 10 Oct 2023 08:59:37 +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 1qq8aW-0067pi-1p for pgsql-hackers@lists.postgresql.org; Tue, 10 Oct 2023 08:59:37 +0000 Received: from mail-ej1-x632.google.com ([2a00:1450:4864:20::632]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1qq8aT-000vPK-Qt for pgsql-hackers@lists.postgresql.org; Tue, 10 Oct 2023 08:59:35 +0000 Received: by mail-ej1-x632.google.com with SMTP id a640c23a62f3a-9b2f73e3af3so918989366b.3 for ; Tue, 10 Oct 2023 01:59:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1696928372; x=1697533172; darn=lists.postgresql.org; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=XzllsSoF+s9B78VVgWW/6VMcUM+pdY8fs4JJRNTS364=; b=A/Yz4NluThLW4mI2PD3kGKpkDrYbMRx63Y6dqSdEAcWs+Wx7aHwZfRhcdcj31loFrR BGzFgRnlFRPXAUo8Ye6xVw9V9xfYtgIbginaoxQGEU4S35tILhfG/GjW+/fpGr8bC6Mi ryzMZbaiNeKggQ71ibk8Zcie0QkN6lRL72Dpn06z1aQHrLN6YFao+ziVp2nnXefF+gCr MqmNB5SQA48BYkszyTWURM+Jhi9frAC6MedaavPfeGLF3ZEgn7Bm67Z/u2P82hbvzOL1 XDXmp8vAezu9Zt5In2FJQXiIGgbmEhB3CduEw0Kud20jd5yK4xJQsY3smShWHJ4g6k+2 RqoA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696928372; x=1697533172; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=XzllsSoF+s9B78VVgWW/6VMcUM+pdY8fs4JJRNTS364=; b=JLiuJG6IlTAW+3Bsun/gQumbZ5/h28s9mm0koCSmGQZTfOQ3KS3irkboxOTB4uNSWy NRVK78nHsKkc9a3YSYRRi5M2iiPlmNlssvEiADZCvuUddEi42qhpY+DSM7mcEaPLE7v4 VJv3dMSFJYp8sUhvNo5Ll7rGOu1iGxB+fr/cV85uE6/xbdgcvLW0uu5VpHfAjAsCJgs2 8SFy6noqkEX6Mlae+mhYUXwwMJF+/LH6yybDERRlztWjTRy6PzeirTX5BIaEtcFYqRHc 7VtxVhkJD5bGFSkqe/6T2BmBojEbBBJtoqKUdDOffDpIEvzdhvStKL5y8QXtJzW1/Gov HteA== X-Gm-Message-State: AOJu0YyYSW1E0MZ+kpMIdAmjMafaDMz4cVuqpMlOhG6A9dcSyoPjpX13 rD7mhcgvjLmTuEyGq2ZdcxNMfUiAVaZIBPWFkB+jYcMga4U= X-Google-Smtp-Source: AGHT+IErKGktOhz8hKMYAonXERUXgaF3edmjDsbpMaQpayKptAH6d+zbRCTrmxmRHqbMlcyb4boshNb4yTyecqGxfnY= X-Received: by 2002:a17:906:cc5a:b0:9ba:fe6:225 with SMTP id mm26-20020a170906cc5a00b009ba0fe60225mr5980201ejb.55.1696928371755; Tue, 10 Oct 2023 01:59:31 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Esteban Zimanyi Date: Tue, 10 Oct 2023 10:58:57 +0200 Message-ID: Subject: Fwd: Advice about preloaded libraries To: PostgreSQL Hackers Content-Type: multipart/alternative; boundary="000000000000ced188060758ec73" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000ced188060758ec73 Content-Type: text/plain; charset="UTF-8" MobilityDB https://github.com/MobilityDB/MobilityDB is a PostgreSQL extension that depends on PosGIS. Bradford Boyle who has been working on packaging MobilityDB https://www.postgresql.org/message-id/CAPqRbE716D3gpD0JDbaFAb72ELaJrPpG1LUZvobELNBgL3R0+g@mail.gmail.com highlighted the issue of which of the GUC shared_preload_libraries vs local_preload_libraries vs session_preload_libraries should be used to load the postgis-3 library. Our understanding of the information in the manual https://www.postgresql.org/docs/16/runtime-config-client.html#GUC-SESSION-PRELOAD-LIBRARIES does not give us a clear-cut answer for this question. We are looking for advice on which of the three options mentioned above should be used. MobilityDB requires loading PostGIS before any MobilityDB query can be issued. For example, commenting out the following line #shared_preload_libraries = 'postgis-3' in the postgresql.conf shows the following $ psql test psql (15.3) Type "help" for help. test=# select tgeompoint 'Point(1 1)@2000-01-01'; 2023-10-03 16:41:25.980 CEST [8683] ERROR: could not load library "/usr/local/pgsql/15/lib/libMobilityDB-1.1.so": /usr/local/pgsql/15/lib/ libMobilityDB-1.1.so: undefined symbol: ST_Intersects at character 19 2023-10-03 16:41:25.980 CEST [8683] STATEMENT: select tgeompoint 'Point(1 1)@2000-01-01'; ERROR: could not load library "/usr/local/pgsql/15/lib/libMobilityDB-1.1.so": /usr/local/pgsql/15/lib/libMobilityDB-1.1.so: undefined symbol: ST_Intersects LINE 1: select tgeompoint 'Point(1 1)@2000-01-01'; ^ test=# select st_point(1,1); st_point -------------------------------------------- 0101000000000000000000F03F000000000000F03F (1 row) test=# select tgeompoint 'Point(1 1)@2000-01-01'; tgeompoint ------------------------------------------------------------------- 0101000000000000000000F03F000000000000F03F@2000-01-01 00:00:00+01 (1 row) test=# ------------------------------------------------------------ As can be seen above, it is not REALLY mandatory to have shared_preload_libraries = 'postgis-3' but then the user is responsible for issuing a query to load PostGIS (select st_point(1,1); above) and then she is able to execute MobilityDB queries. Thanks for your advice. --000000000000ced188060758ec73 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
MobilityDB
https://github.com/MobilityDB/MobilityDB
is a PostgreSQL ex= tension that depends on PosGIS.

Bradford Boyle who has been working = on packaging MobilityDB
https:= //www.postgresql.org/message-id/CAPqRbE716D3gpD0JDbaFAb72ELaJrPpG1LUZvobELN= BgL3R0+g@mail.gmail.com
highlighted the issue of which of the GUC sh= ared_preload_libraries vs local_preload_libraries vs session_preload_librar= ies should be used to load the postgis-3 library.

Our understanding = of the information in the manual
https://ww= w.postgresql.org/docs/16/runtime-config-client.html#GUC-SESSION-PRELOAD-LIB= RARIES
does not give us a clear-cut answer for this question. We are= looking for advice on which of the three options mentioned above should be= used.

MobilityDB requires loading PostGIS before any MobilityDB que= ry can be issued. For example, commenting out the following line
#shared= _preload_libraries =3D 'postgis-3'
in the postgresql.conf shows = the following

$ psql test
psql (15.3)
Type "help" fo= r help.

test=3D# select tgeompoint 'Point(1 1)@2000-01-01';<= br>2023-10-03 16:41:25.980 CEST [8683] ERROR: =C2=A0could not load library = "/usr/local/pgsql/15/lib/libMo= bilityDB-1.1.so": /usr/local/pgsql/15/lib/libMobilityDB-1.1.so: undefined symbol: ST_Intersects a= t character 19
2023-10-03 16:41:25.980 CEST [8683] STATEMENT: =C2=A0sele= ct tgeompoint 'Point(1 1)@2000-01-01';
ERROR: =C2=A0could not lo= ad library "/usr/local/pgsql/15/lib/libMobilityDB-1.1.so": /usr/local/pgsql/15/lib/libMobilityDB-1.1.so: undefined symbol: ST_I= ntersects
LINE 1: select tgeompoint 'Point(1 1)@2000-01-01';
= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 ^
test=3D# select st_point(1,1);
=C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 st_point
-----------------= ---------------------------
=C2=A00101000000000000000000F03F000000000000= F03F
(1 row)

test=3D# select tgeompoint 'Point(1 1)@2000-01-0= 1';
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 tgeompoint
--------------------------= -----------------------------------------
=C2=A00101000000000000000000F0= 3F000000000000F03F@2000-01-01 00:00:00+01
(1 row)

test=3D#
---= ---------------------------------------------------------

As can be = seen above, it is not REALLY mandatory to have shared_preload_libraries =3D= 'postgis-3' but then the user is responsible for issuing a query t= o load PostGIS (select st_point(1,1); above) and then she is able to execut= e MobilityDB queries.

Thanks for your advice.

--000000000000ced188060758ec73--