1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-30 11:03:19 +03:00

Add PQlibVersion() function to libpq

This function is like the PQserverVersion() function except
it returns the version of libpq, making it possible for a client
program or driver to determine which version of libpq is in
use at runtime, and not just at link time.

Suggested by Harald Armin Massa and several others.
This commit is contained in:
Magnus Hagander
2010-12-22 14:23:56 +01:00
parent 32ba2b5160
commit de9a4c27fe
4 changed files with 56 additions and 0 deletions

View File

@ -5359,6 +5359,50 @@ void *PQresultAlloc(PGresult *res, size_t nBytes);
</listitem>
</varlistentry>
<varlistentry id="libpq-pqlibversion">
<term>
<function>PQlibVersion</function>
<indexterm>
<primary>PQlibVersion</primary>
<seealso>PQserverVersion</seealso>
</indexterm>
</term>
<listitem>
<para>
Return the version of <productname>libpq</> that is being used.
<synopsis>
int PQlibVersion(void);
</synopsis>
</para>
<para>
The result of this function can be used to determine, at
runtime, if specific functionality is available in the currently
loaded version of libpq. The function can be used, for example,
to determine which connection options are available for
<function>PQconnectdb</> or if the <literal>hex</> <type>bytea</>
output added in PostgreSQL 9.0 is supported.
</para>
<para>
The number is formed by converting the major, minor, and revision
numbers into two-decimal-digit numbers and appending them together.
For example, version 9.1 will be returned as 90100, and version
9.1.2 will be returned as 90102 (leading zeroes are not shown).
</para>
<note>
<para>
This function appeared in <productname>PostgreSQL</> version 9.1, so
it cannot be used to detect required functionality in earlier
versions, since linking to it will create a link dependency
on version 9.1.
</para>
</note>
</listitem>
</varlistentry>
</variablelist>
</sect1>