Dependencies to compile the source
To compile and build PostgreSQL from source, we need GNU Make Version 3.8 or higher. The gmake -v
command will tell us whether we have gmake
and its version.
A compiler is also necessary. GNU Compiler Collection (GCC) is one such toolset that is included in almost all the Unix systems. The gcc -v
command will provide you with the version of gcc
as well as options with which it was configured on the system, as shown in the following screenshot:
Note
We can use the following commands to install the necessary packages if they are missing:
- On Ubuntu:
sudo apt-get install build-essential
- On RHEL/CentOS:
sudo yum groupinstall 'Development Tools'
The process of building a package from source involves preprocessing the source (including the header files, expanding macros, and so on), compiling, assembly, and linking (linking the libraries). The make
utility automates the process of building the executable from source code. The make
command uses a makefile, which contains rules on how to build the executables.
Other than GNU Make and a compiler, there is nothing else that is really necessary to continue. However, it is better to have at least the following two components:
readline
: The GNUreadline
library is very useful once we start usingpsql
, the PostgreSQL command-line client, which is covered later. Havingreadline
helps us work in a very "bash-like" environment, using Tab to autocomplete/suggest table names and up and down keys to browse command history, and so on and so forth. It also helps to havezlib
in place before we proceed with the installation.zlib
: This compression library can be handy when we are taking backups (a process definitely to be followed when we have a database).
Adding SQL/XML support will also be useful as sooner or later we will want to extract data from tables in an XML format or load data from the XML files to tables. Still, this might not be as useful as the other two, namely, readline
and zlib
.