A. Principes d'installation▲
Toutes les installations comportent deux étapes distinctes : placer les fichiers binaires du serveur et des outils client sur le système d'une part et configurer le serveur d'autre part.
Quel que soit le système sur lequel vous voulez installer PostgreSQL, je vous invite à lire toute cette première partie pour vous familiariser avec ces deux étapes. Vous verrez que suivant le système et la méthode employée, l'installation pourra être très simple à réaliser – c'est la majorité des cas – ou demander un peu plus d'actions de votre part.
B. Installer PostgreSQL avec One click installer sous Windows, Mac OS ou Linux▲
La première méthode que nous développerons consiste à utiliser l'installateur intégré mis en avant par PostgreSQL, fourni par la société EntrepriseDB. C'est la méthode recommandée pour une première prise de contact avec PostgreSQL, car elle se charge d'effectuer les opérations de configuration du serveur après l'installation proprement dite. Elle se charge également d'installer tous les composants et outils utiles pour administrer et utiliser PostgreSQL.
L'un des intérêts majeurs de cette solution, en sus de la facilité d'installation, est de disposer rapidement d'une version à jour sans avoir à attendre la disponibilité des paquets pour votre distribution. Cet installeur est accessible pour les trois systèmes depuis la page http://www.enterprisedb.com/products/pgdownload.do.
Une fois le téléchargement effectué, l'installation est identique pour les trois systèmes en lançant l'exécution du fichier téléchargé.
Le premier écran rappelle la société éditrice de l'installeur.
La première étape de l'installation peut être une demande d'élévation de privilège, si vous êtes sur un système où un compte d'administrateur n'a pas forcément tous les droits, comme de plus en plus de distributions Linux ou Windows Vista et 7.
Dans tous les cas, il faut indiquer le répertoire d'installation des programmes :
Puis l'emplacement du répertoire des données :
L'installation crée un compte utilisateur postgres. Ce compte est le propriétaire des fichiers et c'est le compte de service avec lequel le serveur est lancé. Il faut fournir un mot de passe pour ce compte.
Les écrans suivants permettent de définir les valeurs du port d'écoute (par défaut 5432) et la langue utilisée pour l'encodage des bases. Les valeurs par défaut proposées sont normalement adéquates et vous pouvez les accepter.
Toutes les données nécessaires sont définies, on peut passer à l'installation proprement dite.
Tout logiquement, l'installation place les fichiers nécessaires sur la machine.
Mais elle configure également le serveur, c'est-à-dire que l'étape de post installation que nous aurons à effectuer après l'installation des paquets Linux est ici intégrée.
À la fin de l'installation, nous devons répondre à une question sur le lancement d'une application supplémentaire.
Pour l'instant, décochez la case Launch Stack Builder at exit ? , puis cliquez sur Finish.
Nous disposons maintenant d'un menu qui présente les principaux outils à notre disposition.
Pour vérifier que l'installation s'est bien passée et que nous pouvons travailler avec PostgreSQL, nous pouvons lancer pgAdmin III, l'outil de gestion graphique standard fourni avec PostgreSQL.
Lors du lancement de cet outil, il faut fournir le mot de passe du compte postgres que vous avez défini lors de l'installation.
L'interface de pgAdmin s'ouvre alors et je vous invite à la parcourir pour commencer à vous familiariser avec les différentes vues et objets qu'elle permet de manipuler.
C. Installer un binaire sous Linux▲
L'utilisateur Linux dispose de trois méthodes différentes pour installer PostgreSQL sur son système.
Nous avons vu dans le paragraphe Installer PostgreSQL avec One click installer sous Windows, Mac OS ou Linux une première méthode.
La seconde méthode consiste à télécharger les sources et à les compiler, ce qui sera traité dans Compiler PostgreSQL soi-même. C'est une méthode assez abrupte, à n'employer que si vous avez une bonne raison de le faire, par exemple parce qu'il n'existe pas d'installation binaire pour votre configuration.
La troisième méthode consiste à utiliser le gestionnaire de paquets de votre distribution. Le site de PostgreSQL fournit, à la page http://www.postgresql.org/download/linux, les adresses des dépôts de paquets pour Red Hat, Debian, Suse ou encore Gentoo et Ubuntu, maintenus par les éditeurs ou par la communauté. Nous détaillerons dans ce Focus une installation de paquets sur une version Fedora Core 10.
Il est nécessaire d'installer trois paquets, comme indiqué à la Figure 14 : un paquet pour les bibliothèques, un pour les outils clients et un pour le serveur.
Une fois ces paquets sélectionnés, l'installation est tout à fait standard, avec une vérification du mot de passe de root et le téléchargement, puis l'installation des paquets.
D. Configurer le serveur après l'installation▲
Une fois les programmes installés, il faut configurer le serveur en initialisant ses structures internes.
Suivant la façon dont les paquets ont été construits, vous n'aurez pas à le faire vous-même, et vous pouvez sauter cette partie d'initialisation allant directement créer une base de données.
Sinon, si vous ne l'avez pas déjà fait, créez un utilisateur postgres et connectez vous avec lui. L'initialisation du serveur s'effectuera sous ce compte, à l'aide de la commande initdb. Elle attend un paramètre obligatoire, avec l'option -D, pour spécifier le répertoire des données :
[postgres@Fedora10 root]$
initdb -D /home/postgres/data
The files belonging to this database system will be owned by user "postgres"
.
This user must also own the server process.
The database cluster will be initialized with locale fr_FR.UTF-8
.
The default database encoding has accordingly been set to UTF8.
The default text search configuration will be set to "french"
.
creating directory /home/postgres/data ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers/max_fsm_pages ... 24MB/153600
creating configuration files ... ok
creating template1 database in
/home/postgres/data/base/1
... ok
initializing pg_authid ... ok
initializing dependencies ... ok
creating system views ... ok
loading system objects' descriptions ... ok
creating conversions ... ok
creating dictionaries ... ok
setting privileges on built-in objects ... ok
creating information schema ... ok
vacuuming database template1 ... ok
copying template1 to template0 ... ok
copying template1 to postgres ... ok
WARNING: enabling "trust" authentication for local connections
You can change this by editing pg_hba.conf or using the -A option the
next time you run initdb.
Success. You can now start the database server using:
postgres -D /home/postgres/data
or
pg_ctl -D /home/postgres/data -l logfile start
Une fois l'installation effectuée, il suffit de lancer le serveur avec l'une des instructions proposées, par exemple pg_ctl :
[postgres@Fedora10 ~]$
pg_ctl -D /home/postgres/data -l logfile start
serveur en cours de démarrage
Le serveur est maintenant configuré et opérationnel. Nous pouvons créer une première base de données et nous connecter pour vérifier que tout fonctionne correctement, en utilisant les commandes createdb et psql :
[postgres@Fedora10 ~]$
createdb test
[postgres@Fedora10 ~]$
psql test
Bienvenue dans psql 8.3.7, l'interface interactive de PostgreSQL.
Saisissez :
\copyright pour les termes de distribution
\h pour l'aide-mémoire des commandes SQL
\? pour l'
aide-mémoire des commandes psql
\g ou point-virgule en fin d'instruction pour exécuter la requête
\q pour quitter
Tout va bien, l'installation et la configuration sont terminées et vous êtes prêt à utiliser votre serveur.
Les étapes que nous avons parcourues ici peuvent varier suivant la distribution Linux que vous utilisez, en raison des choix de structuration des paquets ou des stratégies de sécurité de votre installation. Par exemple, on peut avoir besoin de définir un mot de passe pour le compte propriétaire du serveur.
E. Installer un binaire sous Mac OS▲
Comme pour Linux, il est possible d'installer PostgreSQL à l'aide du gestionnaire de paquetages de MAC OS. La page http://www.postgresql.org/download/macosx propose des liens vers différents projets et paquetages pour procéder ainsi.
Vous pouvez utiliser Fink ou Macport pour installer les paquetages de PostgreSQL. La plupart sont des paquetages sources, ce qui implique que vous devez disposer des outils de développement installé sur votre système.
Par exemple, l'installation avec Macport s'effectue avec la commande install postgresql84 :
admins-computer:~ admin$
sudo port
Password:
MacPorts 1
.8
.0
Entering interactive mode... (
"help"
for
help, "quit"
to quit)
[Users/admin] >
install postgresql84
--->
Computing dependencies for
postgresql84
Une fois les paquets installés, il faut effectuer les mêmes opérations de configuration que dans un environnement Linux. Reportez-vous au paragraphe Configurer le serveur après l'installation :
- Création d'un utilisateur postgres ;
- Création d'un répertoire destiné à contenir les fichiers de données ;
- Initialisation des structures du serveur avec la commande initdb ;
- Lancement du serveur avec la commande pg_ctl ;
- Création de la base de données avec la commande createdb ;
- Vérification de l'accès à la base de données avec la commande psql.