En général, les plateformes style unix modernes sont capables d'exécuter PostgreSQL. Les plateformes sur lesquelles des tests ont été effectués sont décrites dans la Section 16.6 ci-après.
Les logiciels suivants sont nécessaires pour compiler PostgreSQL :
GNU make version 3.80 (ou
une version plus récente) est nécessaire ; les autres programmes
make ou les versions plus anciennes de
GNU make ne
fonctionnent pas.
(GNU make est parfois installé sous le nom
gmake
). Pour
connaître la version utilisée, saisir
make --version
Il est nécessaire d'avoir un compilateur C ISO/ANSI (au minimum compatible avec C99). Une version récente de GCC est recommandée, mais PostgreSQL est connu pour être compilable avec de nombreux compilateurs de divers vendeurs.
tar est requis pour déballer la distribution des sources, associé à gzip ou bzip2.
La bibliothèque GNU Readline est
utilisée par défaut. Elle permet à psql
(l'interpréteur de ligne de commandes SQL de PostgreSQL) de se souvenir de
chaque commande saisie, et permet d'utiliser les touches
de flèches pour rappeler et éditer les commandes précédentes. C'est très
pratique et fortement recommandé. Pour ne pas l'utiliser, il
faut préciser --without-readline
au moment de l'exécution
de la commande configure
. Une alternative possible est
l'utilisation de la bibliothèque libedit
sous licence
BSD, développée au début sur NetBSD. La
bibliothèque libedit
est compatible
GNU Readline et est utilisée si cette dernière
n'est pas trouvée ou si --with-libedit-preferred
est utilisé
sur la ligne de commande de configure
. Lorsqu'une
distribution Linux à base de paquets est utilisée, si les paquets
readline
et readline-devel
sont
séparés, il faut impérativement installer les deux.
La bibliothèque de compression zlib est
utilisée par défaut. Pour ne pas l'utiliser, il faut préciser
--without-zlib
à
configure
. Cela a pour conséquence de désactiver le
support des archives compressées dans pg_dump et
pg_restore.
Les paquets suivants sont optionnels. S'ils ne sont pas obligatoires lors d'une compilation par défaut de PostgreSQL, ils le deviennent lorsque certaines options sont utilisées, comme cela est expliqué par la suite.
Pour installer le langage procédural PL/Perl,
une installation complète de Perl,
comprenant la bibliothèque libperl
et les
fichiers d'en-tête est nécessaire.
La version minimale requise est Perl 5.8.3.
Comme PL/Perl est une bibliothèque partagée,
la bibliothèque
libperl
doit aussi être partagée sur la plupart des
plateformes. C'est désormais le choix par défaut dans les versions
récentes de Perl, mais ce n'était pas le cas
dans les versions plus anciennes. Dans tous les cas, c'est du ressort de
celui qui installe Perl. configure
échouera si la
construction de PL/Perl est sélectionnée mais
qu'il ne trouve pas une bibliothèque partagée
libperl
. Dans ce cas, vous devrez reconstruire et
installer Perl manuellement pour être capable
de construire PL/Perl. Lors du processus de
configuration pour Perl, demandez une
bibliothèque partagée.
Si vous avez l'intention d'avoir plus qu'une utilisation occasionnelle
de PL/Perl, vous devez vous assurer que
l'installation de Perl a été faite avec
l'option usemultiplicity
activée (perl
-V
vous indiquera si c'est le cas).
Pour compiler le langage de programmation serveur PL/Python, il faut que Python soit installé avec les fichiers d'en-tête et le module distutils. La version minimum requise est Python 2.7. Python 3 est supporté s'il s'agit d'une version 3.2 ou ultérieure ; voir la Section 45.1 lors de l'utilisation de Python 3.
Puisque PL/Python doit être une bibliothèque
partagée, la bibliothèque
libpython
doit l'être aussi sur la plupart des
plateformes. Ce n'est pas le cas des installations par défaut de
Python construits à partir des sources mais,
une bibliothèque partagée est disponible dans de nombreuses
distributions de systèmes d'exploitation. configure
échouera si la construction de PL/Python est
sélectionnée et qu'il ne peut pas trouver une bibliothèque partagée
libpython
. Cela pourrait signifier que vous avez
soit besoin d'installer des packages supplémentaires soit reconstruire
(une partie de) l'installation Python pour
fournir cette bibliothèque partagée. Lors de la construction à partir
des sources, exécutez le configure de Python
avec l'option --enable-shared
.
Pour construire le langage procédural PL/Tcl, Tcl doit être installé. La version minimale requise de Tcl est la 8.4.
Pour activer le support de langage natif (NLS), qui permet d'afficher les messages d'un programme dans une langue autre que l'anglais, une implantation de l'API Gettext est nécessaire. Certains systèmes d'exploitation l'intègrent (par exemple, Linux, NetBSD, Solaris). Pour les autres systèmes, un paquet additionnel peut être téléchargé sur http://www.gnu.org/software/gettext/. Pour utiliser l'implantation Gettext des bibliothèques C GNU, certains utilitaires nécessitent le paquet GNU Gettext. Il n'est pas nécessaire dans les autres implantations.
Vous aurez besoin de OpenSSL, si vous voulez
utiliser du chiffrement pour vos connexions clientes.
OpenSSL est aussi requis pour la génération
de nombres aléatoires sur les plateformes qui n'ont pas
/dev/urandom
(sauf Windows). La version minimale
requise est la 0.9.8.
Vous avez besoin de Kerberos, OpenLDAP ou PAM pour bénéficier de l'authentification ou du chiffrement en utilisant ces services.
Pour construire la documentation PostgreSQL, il existe un ensemble de prérequis séparé ; voir Section J.2.
En cas de compilation à partir d'une arborescence Git et non d'un paquet de sources publié, ou pour faire du développement au niveau serveur, les paquets suivants seront également nécessaires :
GNU Flex et Bison sont nécessaires pour compiler à partir d'un export du Git ou lorsque les fichiers de définition de l'analyseur ou du « scanner » sont modifiés. Les versions nécessaires sont Flex 2.5.31 ou ultérieure et Bison 1.875 ou ultérieure. Les autres programmes lex et yacc ne peuvent pas être utilisés.
Perl 5.8.3 ou ultérieur est aussi nécessaire pour construire les sources du Git, ou lorsque les fichiers en entrée pour n'importe laquelle des étapes de construction qui utilisent des scripts Perl ont été modifiés. Sous Windows, Perl est nécessaire dans tous les cas. Perl est aussi requis pour exécuter certains tests unitaires.
Si d'autres paquets GNU sont nécessaires, ils peuvent être récupérés sur un site miroir de GNU (voir https://www.gnu.org/order/ftp.html pour la liste) ou sur ftp://ftp.gnu.org/gnu/.
Il est important de vérifier qu'il y a suffisamment d'espace disque
disponible. 100 Mo sont nécessaires pour la compilation et 20 Mo pour le
répertoire d'installation. Un groupe de bases de données vide nécessite
35 Mo ; les fichiers des bases prennent cinq fois plus d'espace que des
fichiers texte contenant les mêmes données. Si des tests de
régression sont prévus, 150 Mo supplémentaires sont temporairement
nécessaires. On peut utiliser la commande df
pour
vérifier l'espace disque disponible.