'\" t .\" Title: pg_config .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.76.1 .\" Date: 2016-04-02 .\" Manual: PostgreSQL 9.1.21 Documentation .\" Source: PostgreSQL 9.1.21 .\" Language: English .\" .TH "PG_CONFIG" "1" "2016-04-02" "PostgreSQL 9.1.21" "PostgreSQL 9.1.21 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" pg_config \- retrieve information about the installed version of PostgreSQL .\" pg_config .SH "SYNOPSIS" .HP \w'pg_config\ 'u pg_config [\fIoption\fR...] .SH "DESCRIPTION" .PP 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\&. .SH "OPTIONS" .PP To use pg_config, supply one or more of the following options: .PP \fB\-\-bindir\fR .RS 4 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\&. .RE .PP \fB\-\-docdir\fR .RS 4 Print the location of documentation files\&. .RE .PP \fB\-\-htmldir\fR .RS 4 Print the location of HTML documentation files\&. .RE .PP \fB\-\-includedir\fR .RS 4 Print the location of C header files of the client interfaces\&. .RE .PP \fB\-\-pkgincludedir\fR .RS 4 Print the location of other C header files\&. .RE .PP \fB\-\-includedir\-server\fR .RS 4 Print the location of C header files for server programming\&. .RE .PP \fB\-\-libdir\fR .RS 4 Print the location of object code libraries\&. .RE .PP \fB\-\-pkglibdir\fR .RS 4 Print the location of dynamically loadable modules, or where the server would search for them\&. (Other architecture\-dependent data files might also be installed in this directory\&.) .RE .PP \fB\-\-localedir\fR .RS 4 Print the location of locale support files\&. (This will be an empty string if locale support was not configured when PostgreSQL was built\&.) .RE .PP \fB\-\-mandir\fR .RS 4 Print the location of manual pages\&. .RE .PP \fB\-\-sharedir\fR .RS 4 Print the location of architecture\-independent support files\&. .RE .PP \fB\-\-sysconfdir\fR .RS 4 Print the location of system\-wide configuration files\&. .RE .PP \fB\-\-pgxs\fR .RS 4 Print the location of extension makefiles\&. .RE .PP \fB\-\-configure\fR .RS 4 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\&.) See also the examples below\&. .RE .PP \fB\-\-cc\fR .RS 4 Print the value of the \fICC\fR variable that was used for building PostgreSQL\&. This shows the C compiler used\&. .RE .PP \fB\-\-cppflags\fR .RS 4 Print the value of the \fICPPFLAGS\fR variable that was used for building PostgreSQL\&. This shows C compiler switches needed at preprocessing time (typically, \-I switches)\&. .RE .PP \fB\-\-cflags\fR .RS 4 Print the value of the \fICFLAGS\fR variable that was used for building PostgreSQL\&. This shows C compiler switches\&. .RE .PP \fB\-\-cflags_sl\fR .RS 4 Print the value of the \fICFLAGS_SL\fR variable that was used for building PostgreSQL\&. This shows extra C compiler switches used for building shared libraries\&. .RE .PP \fB\-\-ldflags\fR .RS 4 Print the value of the \fILDFLAGS\fR variable that was used for building PostgreSQL\&. This shows linker switches\&. .RE .PP \fB\-\-ldflags_ex\fR .RS 4 Print the value of the \fILDFLAGS_EX\fR variable that was used for building PostgreSQL\&. This shows linker switches used for building executables only\&. .RE .PP \fB\-\-ldflags_sl\fR .RS 4 Print the value of the \fILDFLAGS_SL\fR variable that was used for building PostgreSQL\&. This shows linker switches used for building shared libraries only\&. .RE .PP \fB\-\-libs\fR .RS 4 Print the value of the \fILIBS\fR variable that was used for building PostgreSQL\&. This normally contains \-l switches for external libraries linked into PostgreSQL\&. .RE .PP \fB\-\-version\fR .RS 4 Print the version of PostgreSQL\&. .RE If more than one option is given, the information is printed in that order, one item per line\&. If no options are given, all available information is printed, with labels\&. .SH "NOTES" .PP The option \fB\-\-includedir\-server\fR was added 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 option \fB\-\-includedir\fR\&. To make your package handle both cases, try the newer option first and test the exit status to see whether it succeeded\&. .PP The options \fB\-\-docdir\fR, \fB\-\-pkgincludedir\fR, \fB\-\-localedir\fR, \fB\-\-mandir\fR, \fB\-\-sharedir\fR, \fB\-\-sysconfdir\fR, \fB\-\-cc\fR, \fB\-\-cppflags\fR, \fB\-\-cflags\fR, \fB\-\-cflags_sl\fR, \fB\-\-ldflags\fR, \fB\-\-ldflags_sl\fR, and \fB\-\-libs\fR were added in PostgreSQL 8\&.1\&. The option \fB\-\-htmldir\fR was added in PostgreSQL 8\&.4\&. The option \fB\-\-ldflags_ex\fR was added in PostgreSQL 9\&.0\&. .PP In releases prior to PostgreSQL 7\&.1, before pg_config came to be, a method for finding the equivalent configuration information did not exist\&. .SH "EXAMPLE" .PP To reproduce the build configuration of the current PostgreSQL installation, run the following command: .sp .if n \{\ .RS 4 .\} .nf eval \&./configure `pg_config \-\-configure` .fi .if n \{\ .RE .\} .sp The output of pg_config \-\-configure contains shell quotation marks so arguments with spaces are represented correctly\&. Therefore, using eval is required for proper results\&.