pg_config {--bindir | --includedir | --includedir-server | --libdir | --pkglibdir | --configure | --version}...
The pg_config utility prints configuration parameters of the currently installed version of PostgreSQL. It is intended, for example, to be used by software packages that want to interface to PostgreSQL to facilitate finding the required header files and libraries.
To use pg_config, supply one or more of the following options:
--bindir
Print the location of user executables. Use this, for example, to find the psql program. This is normally also the location where the pg_config program resides.
--includedir
Print the location of C header files of the client interfaces.
--includedir-server
Print the location of C header files for server programming.
--libdir
Print the location of object code libraries.
--pkglibdir
Print the location of dynamically loadable modules, or where the server would search for them. (Other architecture-dependent data files may also be installed in this directory.)
--configure
Print the options that were given to the configure script when PostgreSQL was configured for building. This can be used to reproduce the identical configuration, or to find out with what options a binary package was built. (Note however that binary packages often contain vendor-specific custom patches.)
--version
Print the version of PostgreSQL and exit.
If more than one option (except for --version
) is given, the information is printed
in that order, one item per line.
The option --includedir-server
is
new in PostgreSQL 7.2. In prior releases, the server include
files were installed in the same location as the client headers,
which could be queried with the --includedir
. To make your package handle both
cases, try the newer option first and test the exit status to see
whether it succeeded.
In releases prior to PostgreSQL 7.1, before the pg_config came to be, a method for finding the equivalent configuration information did not exist.