Re: System views for versions reporting

From: Dmitry Dolgov <9erthalion6(at)gmail(dot)com>
To: jian he <jian(dot)universality(at)gmail(dot)com>
Cc: Joe Conway <mail(at)joeconway(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: System views for versions reporting
Date: 2025-01-25 19:46:58
Message-ID: burlbnmi2a2mxt33migp3m3pqglgtat3axak2prmhiwhwuljxv@7ea4hlniydvk
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> On Thu, Jan 02, 2025 at 10:36:48AM GMT, jian he wrote:
> hi.
> https://cirrus-ci.com/github/postgresql-cfbot/postgresql/cf%2F5318
> shows lots of failures, but it doesn't seem to tell you about doc build failure.

Thanks for checking this out. Here is the updated version with applied
changes. The tests were failing due to injection_points library
apparently linking something twice, triggering a duplication error I
didn't expect. Since apparently it can happen, I'm just overwriting
duplicates.

> --- a/src/include/utils/system_version.h
> +++ b/src/include/utils/system_version.h
> @@ -11,6 +11,7 @@
> #ifndef SYSTEM_VERSION_H
> #define SYSTEM_VERSION_H
>
> +#include <gnu/libc-version.h>
> #include <link.h>
>
> "gnu/libc-version.h" does not exist in the clang compiler?
> will "link.h" everywhere?

This one I don't follow, what do you mean by "link.h" everywhere? I
think those two are coming from glibc and compiler independent. But it
indeed makes sense to wrap them into __GLIBC__.

> Currently, only a few rows are displayed for pg_system_versions. If I have
> linked a dependency, I should be able to retrieve its version—for example, I
> should be able to determine the version of zstd (i have linked the
> zstd dependency).

Maybe I'm missing something, but that's the plan -- pg_system_versions
contains only some selected components, that have to be registered
manually before showing up there. This of course means that it's hard to
get all the linked libraries, but opens a possibility to show any kind
of objects, not only what is linked. The actual list of versions is open
for discussion of course, but showing everything is not feasible I
think. For things like zstd pg_system_libraries is a better fit.

Attachment Content-Type Size
v3-0001-Add-infrastructure-for-pg_system_versions-view.patch text/plain 11.3 KB
v3-0002-Add-core-versions-to-pg_system_versions.patch text/plain 8.1 KB
v3-0003-Add-JIT-provider-version-to-pg_system_versions.patch text/plain 4.8 KB
v3-0004-Add-pg_system_libraries-view.patch text/plain 10.1 KB

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Tomas Vondra 2025-01-25 20:41:29 Re: Adjusting hash join memory limit to handle batch explosion
Previous Message Laurenz Albe 2025-01-25 18:07:38 Re: doc: explain pgstatindex fragmentation