Re: pgsql: Remove pqsignal() from libpq's official exports list.

From: Christoph Berg <myon(at)debian(dot)org>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: pgsql: Remove pqsignal() from libpq's official exports list.
Date: 2019-10-04 09:56:31
Message-ID: 20191004095630.GA29119@msg.df7cb.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers pgsql-hackers

Re: Tom Lane 2018-09-28 <E1g5vmT-0003K1-6S(at)gemulon(dot)postgresql(dot)org>
> Remove pqsignal() from libpq's official exports list.
>
> Client applications should get this function, if they need it, from
> libpgport.
>
> The fact that it's exported from libpq is a hack left over from before
> we set up libpgport. It's never been documented, and there's no good
> reason for non-PG code to be calling it anyway, so hopefully this won't
> cause any problems. Moreover, with the previous setup it was not real
> clear whether our clients that use the function were getting it from
> libpgport or libpq, so this might actually prevent problems.
>
> The reason for changing it now is that in the wake of commit ea53100d5,
> some linkers won't export the symbol, apparently because it's coming from
> a .a library instead of a .o file. We could get around that by continuing
> to symlink pqsignal.c into libpq as before; but unless somebody complains
> very hard, I don't want to adopt such a kluge.

This is starting to hurt in several places:

04 11:41 <magnush> mha(at)xindi:~$ psql
04 11:41 <magnush> /usr/lib/postgresql/9.2/bin/psql: symbol lookup error:
/usr/lib/postgresql/9.2/bin/psql: undefined symbol: pqsignal

pg_repack linked against libpq5 11 breaks with libpq5 12:

--- /tmp/autopkgtest-lxc.evololie/downtmp/build.XvF/src/regress/expected/repack-run.out 2018-10-18 11:30:46.000000000 +0000
+++ /tmp/autopkgtest-lxc.evololie/downtmp/build.XvF/src/regress/results/repack-run.out 2019-10-03 21:24:29.049576631 +0000
@@ -2,19 +2,8 @@
-- do repack
--
\! pg_repack --dbname=contrib_regression --table=tbl_cluster
-INFO: repacking table "public.tbl_cluster"
+pg_repack: symbol lookup error: pg_repack: undefined symbol: pqsignal

https://ci.debian.net/data/autopkgtest/testing/amd64/p/pg-repack/3070831/log.gz

Christoph

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Robert Haas 2019-10-04 12:25:36 pgsql: Remove AtSubStart_Notify.
Previous Message Michael Paquier 2019-10-04 07:20:17 pgsql: Fix issues in pg_rewind with --no-ensure-shutdown/--write-recove

Browse pgsql-hackers by date

  From Date Subject
Next Message Dilip Kumar 2019-10-04 10:05:26 Re: [HACKERS] Block level parallel vacuum
Previous Message Natarajan R 2019-10-04 09:50:49 Shared memory