Revenir à la [[:td_histoire_numerique:accueil|page d'accueil]].
===== Indications générales =====
* [[http://fr.wikipedia.org/wiki/PostgreSQL|PostgreSQL]] est un système de gestion de base de données relationnelle et objet (SGBDRO).
* C'est un outil libre et très puissant, utilisé en particulier dans le domaine de la recherche scientifique.
* Nous l'utiliserons car il intègre des fonctionnalités utiles qui n'existent pas dans les autres SGBD libres
==== Apprendre à utiliser PostgreSQL ====
Pour apprendre à utiliser PostgreSQL il est fondamental d'utiliser le manuel que la communauté des développeurs édite avec soin et traduit également en français. Il y a en effe en France une communauté assez active autour de ce logiciel libre qui se réunit annuellement autour des [[http://pgday.fr/|pgdays]]
Le manuel existe dans une [[http://docs.postgresqlfr.org/9.4/|version en ligne]] et en [[http://docs.postgresql.fr/9.4/pg94.pdf|PDF téléchargeable]].
On commence par lire les chapitres 2 et 3 qui introduisent aux concepts essentiels du SQL et à certains cas d'utilisation. On lit les autres chapitres seulement si nécessaire, en fonction des fonctionnalités qu'on souhaite utiliser. Par ex. le chapitre 7, qui explique comment interroger les données, est particulièrement utile.
ATTENTION: le manuel utilise un client en ligne de commande, psql (semblable à l'Invite de commandes de Windows ou Terminal de MacOSX). Les commandes apparaissent donc parfois sous cette forme
$ psql -s ma_base
Comme nous utilisons des clients graphiques pour accéder au serveur (pgAdminIII, SQLWorkbench/J, ecc.) les commandes SQL seront directement tapées dans les fenêtres prévues à cette fin, par ex.:
SELECT * FROM table;
===== Installation du serveur de bases de données =====
A faire **avant toute autre chose** :
* Créer un document de traitement de texte (LibreOffice ou autre) où on va prend soigneusement note de tous les paramètres de configuration, mots de passe, requêtes effectuées, etc.
* **C'EST ESSENTIEL**! Car ce document permet de documenter la démarche d'installation et de se retrouver rapidement plus tard
* En général, il est toujours utile de documenter non seulement les étapes d'installation d'un logiciel, mais encore toute la démarche de sa propre recherche: on pourra ainsi retrouver les étapes parcourues
===== Instructions pour le TD 2015 =====
Nous utilisons la distribution de PostgreSQL et Apache fournie par Bitnami.
==== Installation sous Windows ====
* Télécharger la version recommandée du logiciel d'installation depuis [[https://bitnami.com/stack/wapp/installer|cette page]].
* Pour le téléchargement ce n'est pas nécessaire de donner un compte, il y a un lien sans engagement d'identité tout en bas.
* Pour connaître le contenu du paquet et avoir les instruction d'installation détaillées, voir [[https://bitnami.com/stack/wapp/README.txt|cette page]]. Ici de suite des instructions simplifiées
* Une fois téléchargé l'exécutable d'installation, passer l'antivirus sur l'exécutable puis (seulement si nécessaire) désactiver l'antivirus pendant l'installation
* Dans la boîte de dialogue "Select components" : Désélectionner tous les Components, sauf PHPPgAdmin
* Dans la boîte de dialogue "Installation folder" : laisser par défaut – C:\Bitnami\wappstack-5.5.29-1
* Dans la boîte de dialogue "Database server parameters": laisser le port par défaut 5432
* Mettre Postgres User Password : bien prendre note de votre password et éviter soigneusement de l'égarer
* Dans la boîte de dialogue "Bitnami Could hosting" : décocher
* Terminer le processus d'installation en ouvrant la page d'accueil du serveur (simplement en appuyant sur le bouton 'Terminer' sans rien décocher
==== Installation sous Mac ====
* Télécharger la version recommandée du logiciel d'installation depuis [[https://bitnami.com/stack/mapp/installer|cette page]].
* Pour le téléchargement ce n'est pas nécessaire de donner un compte, il y a un lien sans engagement d'identité tout en bas.
* Pour connaître le contenu du paquet et avoir les instruction d'installation détaillées, voir [[https://bitnami.com/stack/wapp/README.txt|cette page]]. Ici de suite des instructions simplifiées
* Une fois téléchargé l'exécutable d'installation, passer l'antivirus sur l'exécutable puis (seulement si nécessaire) désactiver l'antivirus pendant l'installation
* Dans la boîte de dialogue "Select components" : Désélectionner tous les Components, sauf PHPPgAdmin
* Dans la boîte de dialogue "Installation folder" : laisser par défaut – /Applications/mappstack-5.5.29-1
* Dans la boîte de dialogue "Database server parameters": laisser le port par défaut 5432
* Mettre Postgres User Password : bien prendre note de votre password et éviter soigneusement de l'égarer
* Dans la boîte de dialogue "Bitnami Could hosting" : décocher
* Terminer le processus d'installation en ouvrant la page d'accueil du serveur (simplement en appuyant sur le bouton 'Terminer' sans rien décocher
\\
==== Test de l'installation sous Mac et Windows ====
* Accéder à la page d'accueil de votre serveur Apache en tapant cette adresse dans un navigateur web: [[http://127.0.0.1:8080/|http://127.0.0.1:8080/]] (version Mac) ; [[http://127.0.0.1/|http://127.0.0.1/]] (version Windows)
* Choisir le lien "4.- [[http://127.0.0.1:8080/phppgadmin/|Go to phpPgAdmin]]" (version Mac) – "4.- [[http://127.0.0.1/phppgadmin/|Go to phpPgAdmin]]" (version Windows) [vous pouvez y accéder directement depuis le lien ici à gauche] sur la page d'accueil de votre site Bitnami local.
* Sélectionner et activer le lien en haut à gauche "Serveurs > PostgreSQL"
* Entrer le login 'postgres' et le mot de passe retenu lors de l'installation
* Vous verrez se déplier le contenu de la base de données 'postgres', qui est la base de maintenance et qu'il ne faut pas toucher
* Sélectionner dans le menu de droite l'onglet 'Bases de données'
* Clicker sur 'Créer une base de données'
* Appeler votre base à loisir, par ex. 'base_test'
* ATTENTION: jamais d'espaces, accents ou autres signes hors caractères alphanumériques et le tiret bas (underscore) '_'
* Laisser le modèle tel qu'il est
* Mettre le codage de caractères à 'UTF8'
* Laisser le reste des champs vides et appuyer sur 'Créer'
* La base 'base_test' apparaît à gauche (si elle n'apparait pas rafraîchir avec les fléchès vertes et rouges): votre logiciel est installé et fonctionne !
==== Outil de gestion des serveurs ====
L'application Bitnami a installé deux serveurs sur votre ordinateur: un serveur PostgreSQL et un serveur web Apache. L'outil de gestion des serveurs se trouve
* sous Windows dans le dossier 'C:\Bitnami\wappstack-5.5.29-1' et s'appelle 'manager-windows.exe'. On peut l'appeler depuis la recherche de l'explorateur Windows
* sous MacOS X dans le dossier /Applications/mappstack-5.5.29-1 et s'appelle 'manager-osx.app'. [à vérifier] On peut l'appeler depuis le menu des 'Applications'.
Cet outil vous permet d'arrêter et relancer les deux serveurs, ou de modifier les paramètres des serveurs, si nécessaire.
\\
====Installation alternative pour les utilisateurs de Mac depuis le site enterprisedb====
Instructions à suivre pour les utilisateurs de Mac qui rencontrent un problème avec le serveur PostgreSQL dans la distribution Bitnami (soit que [[td_histoire_numerique:installation_de_la_base_de_donneesparametrage_du_logiciel_pgaminiii_pgadmin3|l'extension XML ne marche pas après l'exécution du script de test]], soit que –lors du test de l'installation décrit plus bas sur cette même page— le serveur postgreSQL ne démarre pas et reste à rouge dans l'outil de gestion des serveurs).
Se rendre sur la page de [[http://www.enterprisedb.com/products-services-training/pgdownload|téléchargement]]. Faire un click droit sur la souris pour ouvrir cette page dans un nouvel onglet.
* Choisir la **version de 9.4.5 de postgreSQL pour Mac** et la télécharger
* Lancer l'exécutable d'installation téléchargé.
* Installer le nouveau serveur postgreSQL dans le répertoire d'installation proposé (/Library/PostgreSQL/9.4) et, au moment de le faire, copier coller cette adresse dans le document traitement de texte préparé préalablement pour prendre des notes afin de savoir retrouver ensuite le dossier d'installation (cette pratique à conseillée lors de toute installation: retenir la date et les spécificités de l'installation, ainsi que les adresses des dossiers d'installation et les mots de passe !!!)
* Idem pour le répertoire de données (/Library/PostgreSQL/9.4/data)
* Choisir un **mot de passe** pour votre compte administrateur **postgres** (superuser) et le **garder soigneusement** : sinon l'accès à vos données sera compromis !
* Mettre comme numéro de port du serveur postgres **5433** afin d'éviter le conflit avec le serveur de la distribution Bitnami et noter le numéro de port dans le rapport d'installation
* Locale par défaut
* Installer
* Ne pas lancer StackBuilder si le logiciel d'installation le demande
* Accepter la fin du processus d'installation : 'Close'
=== Adaptation du paramétrage d'accès au nouveau serveur postgreSQL ===
Paramétrage de PgAdmin3:
* lancer le logiciel PgAdmin3 préalablement installé selon les [[td_histoire_numerique:installation_de_la_base_de_donneesparametrage_du_logiciel_pgaminiii_pgadmin3|instructions qui se trouvent ici]].
* faire un click droit sur le serveur PostgreSQL 9.4 et choisir 'Propriétés' dans le menu
* mettre le port TCP à 5433 et valider (touche 'OK')
* tester l'installation en se connectant au serveur
Paramétrage de la base de données:
* reprendre les [[td_histoire_numerique:installation_de_la_base_de_donneesinstallation_de_l_interface|instructions d'installation de l'interface d'alimentation]].
* ouvrir avec un éditeur de texte le fichier 'phpgen_settings.php'
* mettre le port à 5433 (en remplaçant le 5432)
* enregistrer le fichier et redémarrer le serveur Apache (qui reste celui de la distribution Bitnami) selon les instructions qui se trouvent plus bas sur cette même page
Paramétrage de PHPpgAdmin:
* Chercher le dossier d'installation de la configuration de PHPpgAdmin qui doit se trouver normalement dans ce chemin: /Applications/mappstack-5.5.29-1/apache2/htdocs/phpPgAdmin-5.1/conf
* ouvrir avec un éditeur de texte le fichier 'config.inc.php'
* presque au début du fichier vous trouverez l'indication du numéro de port: // Database port on server (5432 is the PostgreSQL default)
$conf['servers'][0]['port'] = 5432;
* mettre le port à 5433 (en remplaçant le 5432)
* enregistrer le fichier et redémarrer le serveur Apache (qui reste celui de la distribution Bitnami) selon les instructions qui se trouvent plus bas sur cette même page
* vous pourrez ainsi accéder au serveur via un navigateur web en utilisant PHPpgAdmin, selon les instructions 'Test de l'installation' qui suivent.
\\
===== Installation du client SQLWorkbench/J =====
Télécharger le logiciel [[http://www.sql-workbench.net/downloads.html| ici]].
Mettre le fichier compressé dans un dossier à votre choix (éventuellement dossier programmes, puisque c'est un programme) et décompresser.
Lancer le logiciel avec le fichier sqlworkbench.exe ou sqlworkbench.jar.
A l'aide du bouton 'Manage Drivers' ouvrire la boît de dialogue qui vous permet de paramètrer le driver.\\
Choisir (ou créer) le profil 'PostgreSQL'. \\
Choisir la Library : C:\Program Files\PostgreSQL\pgJDBC\postgresql-9.1-901.jdbc4.jar (Windows) ou chercher dans le dossier où est installé PostgreSQL, normalement : /Applications/PostgreSQL 9.1 (pour Mac)\\
Classname : org.postgresql.Driver\\
Sample URL : **jdbc:postgresql:[ajouter ici deux slashes]host:port/name_of_database\\**
Slash = /
Si vous ne trouvez pas le driver JDBC sur votre ordinateur, il faudra le télécharger depuis [[https://jdbc.postgresql.org/download.html|ce site]].
Créer un nouveau profil de connexion et l'appeler base_individuelle.\\
Mettre l'URL appropriée : jdbc:postgresql:[ajouter deux slashes ici]localhost:5432/base_individuelle\\
ainsi que votre login et mot de passe de connexion habituel à la base de données
Vous connecter.
===== Augmenter la mémoire en cas de bases de données importantes =====
Pour augmenter la mémoire de l'application il faut la lancer en ligne de commande, avec cette syntaxe :
java -Xmx1000m -jar /Applications/SQLWorkbenchJ.app/Contents/Java/sqlworkbench.jar
Cf. le manuel « 3.8. Increasing the memory available to the application »
===== Instructions des années précédentes (2014 et avant) =====
Gardées pour archivage, **ne pas utiliser**
==== Installation du serveur Apache ====
* Télécharger la version du serveur Apache correspondante à sa version du système Windows (32 ou 64 bits) depuis [[http://httpd.apache.org/download.cgi|ce site]]
* Télécharger le logiciel MD5 depuis [[http://www.commentcamarche.net/download/telecharger-34055119-md5|ce site]]
* Instructions ([[http://www.commentcamarche.net/faq/41-md5sum-verifier-l-integrite-des-telechargements|source]]):
* Décompressez l'archive dans un dossier à la racine de 'C:'. Dans notre exemple on le nommera "md5sum". Ouvrez une console MSDos: chercher cmd.exe avec la recherche Windows et lancez-le
* Démarrer > Exécuter >
* Tapez cmd (sous W2K ou XP) ou command (sous Win98) puis tapez sur [Entrée] de votre clavier.
* Placez vous dans le répertoire contenant le fichier "md5.exe" en ligne de commande.
* C:\> cd md5sum [Entrée]
* Lancez alors la commande suivante : md5 'le_chemin_complet_de_votre_image_iso' [Entrée]
* Exemple : En supposant que notre fichier image se trouve dans "D:\image_isoSmoothwall"
* C:\md5sum>md5 D:\image_isoSmoothwall\smoothwall-2.0-metro.iso [Entrée]
* Après quelques secondes vous devriez avoir le résultat suivant :
* D0AB11311B866B2332E92479906F2FF9 D:\Linuximage_isoSmoothwall\smoothwall-2.0-metro.iso
==== Installation depuis le site enterprisedb ====
Se rendre sur la page de [[http://www.enterprisedb.com/products-services-training/pgdownload|téléchargement]]. Faire un click droit sur la souris pour ouvrir cette page dans un nouvel onglet.
Choisir la **version de postgreSQL la plus récente** (actuellement la 9.3.5.1). Télécharger en fonction de son propre système de fonctionnement (adressage 32 ou 64 bits – pour des vieilles machines le 32).
=== Windows ===
Installer en exécutant le programme postgresql-9.[numéro de version]-windows.exe.
Indications :
* Installer dans le répertoire d'installation proposé (par ex. C:\Program Files\PostgreSQL\9.3) et, au moment de le faire, copier coller dans le document de traitement de texte préparé préalablement l'adresse du dossier d'installation pour en garder mémoire (pratique à adopter lors de toute installation: retenir la date et les spécificités de l'installation, dont les mots de passe !!!)
* Idem pour le répertoire de données (C:\Program Files\PostgreaSQL\9.3\data)
* Choisir un **mot de passe** pour votre **compte administrateur** (superuser) et le **garder soigneusement**: sinon l'accès à vos données sera compromis et il faudra pas mal bidouiller pour le réouvrir!
* Laisser le numéro de port du serveur postgres par défaut (5432) et le noter
* Locale par défaut
* A la fin de l'installation, l'assistant d'installation demande si on veut exécuter Stack builder en sortie: accepter
* à cocher dans StackBuilder
* Database Drivers > pgJDBC v9.2 etc. (le connecteur JDBC)
* Spatial extensions > PostGIS 2 (pour les cartes = les données spatiales)
* A la demande du logiciel, procéder ensuite aux installations
* Débloquer le firewall et autoriser si nécessaire toute installation
* Pour postGIS, cocher Create spatial database et noter le dossier de destination : C:\Program Files\PostgreSQL\9.3
* A la demande du mot de passe, pour postGIS 2, mettez le mot de passe noté plus haut, celui de l'administrateur, que vous allez garder précieusement pour éviter tout problème ultérieur.
* Il est nécessaire de mettre un VRAI mot de passe: 8 lettres/chiffres minimum
* Répondre 'oui' au l'écriture GDAL (vous n'en avez pas d'autres)
* Accepter la fin du processus d'installation : 'Close'
=== Macintosh ===
Installer en exécutant le programme d'installation.
Indications :
* Installer dans le répertoire d'installation proposé (/Library/PostgreSQL/9.3) et, au moment de le faire, copier coller dans le document traitement de texte préparé préalablement l'adresse du dossier d'installation pour en garder mémoire (pratique à adopter lors de toute installation: retenir la date et les spécificités de l'installation, dont les mots de passe !!!)
* Idem pour le répertoire de données (/Library/PostgreSQL/9.3/data)
* Choisir un **mot de passe** pour votre **compte administrateur** (superuser) et le **garder soigneusement** : sinon l'accès à vos données sera **compromis à jamais** !
* Laisser le numéro de port du serveur postgres par défaut (5432) et le noter
* Locale par défaut
* Ouvrir StackBuilder (et choisir Postgres 9.3 si vous deviez avoir des versions postgres déjà installées – peu probable… ;-) )
* à cocher dans StackBuilder
* Database Drivers : pgJDBC v9.2 etc. (le connecteur JDBC)
* Spatial extensions : PostGIS 2 (pour les cartes = les données spatiales)
* A la demande du logiciel, procéder ensuite aux installations
* Débloquer le firewall et autoriser si nécessaire toute installation
* Pour postGIS, cocher Create spatial database et noter le dossier de destination : C:\Program Files\PostgreSQL\9.3
* A la demande du mot de passe, pour postGIS 2, mettez le mot de passe noté plus haut, celui de l'administrateur, que vous allez garder précieusement – si vous le perdez VOUS N'AUREZ PLUS ACCÈS À LA BASE DE DONNÉES
* Répondre 'oui' au l'écriture GDAL (vous n'en avez pas d'autres)
* Accepter la fin du processus d'installation : 'Close'