« Reseau-bdd-postgresql install » : différence entre les versions
Aucun résumé des modifications |
|||
(4 versions intermédiaires par 2 utilisateurs non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
[[Category:Bases de données et annuaires]] | [[Category:Bases de données et annuaires]] | ||
= PostgreSQL: installation = | = PostgreSQL: installation = | ||
{{obsolète}} | |||
<div class="leatitre">PostgreSQL: installation</div><div class="leapar">par [mailto:st chez lea-linux.org serge], Mise à jour par Guillaume LELARGE et Anne</div><div class="leadesc">Une petite description de l'installation de PostgreSQL.</div> | <div class="leatitre">PostgreSQL: installation</div><div class="leapar">par [mailto:st chez lea-linux.org serge], Mise à jour par Guillaume LELARGE et Anne</div><div class="leadesc">Une petite description de l'installation de PostgreSQL.</div> | ||
Ligne 11 : | Ligne 13 : | ||
== Création de l'administrateur PostgreSQL == | == Création de l'administrateur PostgreSQL == | ||
PostgreSQL gère lui aussi des utilisateurs pour attribuer des droits aux bases de données comme linux gère les droits pour la gestion des fichiers et du système. Donc, comme pour linux, il faut un "root", autrement dit un administrateur, pour PostgreSQL. Pour des questions de sécurité, '''utilisez toujours un compte utilisateur qui n'a aucun droit d'administration linux pour le compte "root" de PostgreSQL.''' On va donc créer cet utilisateur, avec par exemple comme nom '''postgres'''. Tapez en tant qu'utilisateur | PostgreSQL gère lui aussi des utilisateurs pour attribuer des droits aux bases de données comme linux gère les droits pour la gestion des fichiers et du système. Donc, comme pour linux, il faut un "root", autrement dit un administrateur, pour PostgreSQL. Pour des questions de sécurité, '''utilisez toujours un compte utilisateur qui n'a aucun droit d'administration linux pour le compte "root" de PostgreSQL.''' On va donc créer cet utilisateur, avec par exemple comme nom '''postgres'''. Tapez en tant qu'utilisateur root : | ||
<div class="code"><nowiki># adduser postgres</nowiki></div> | <div class="code"><nowiki># adduser postgres</nowiki></div> | ||
Validez toutes les questions, et si le système vous demande un mot de passe, saisissez-en un. Au cas où aucun mot de passe ne vous est demandé, lancez la commande | Validez toutes les questions, et si le système vous demande un mot de passe, saisissez-en un. Au cas où aucun mot de passe ne vous est demandé, lancez la commande suivante : | ||
<div class="code"><nowiki># passwd postgres</nowiki></div> | <div class="code"><nowiki># passwd postgres</nowiki></div> | ||
Ligne 21 : | Ligne 23 : | ||
Saisissez le mot de passe une première fois, puis confirmez-le. | Saisissez le mot de passe une première fois, puis confirmez-le. | ||
Profitons d'être root pour créer le répertoire où nous déballerons les sources et pour donner les droits sur ce répertoire à l'utilisateur | Profitons d'être root pour créer le répertoire où nous déballerons les sources et pour donner les droits sur ce répertoire à l'utilisateur postgres : | ||
<div class="code"><nowiki># mkdir /usr/src/pgsql</nowiki><br /> # chown -R postgres /usr/src/pgsql</div> | <div class="code"><nowiki># mkdir /usr/src/pgsql</nowiki><br /> # chown -R postgres /usr/src/pgsql</div> | ||
Ligne 29 : | Ligne 31 : | ||
== Récupération des sources et compilation == | == Récupération des sources et compilation == | ||
Bon, tout d'abord, récupérez les sources sur [http://www.postgresql.org/mirrors-ftp.html un des miroirs]. Au moment où j'écris cet article, la dernière version stable est la 7.4.2. Récupérez l'archive tar postgresql-7.4.2.tar.gz (ou une autre version si une mise à jour est disponible). Une fois les sources récupérées, placez-vous dans le répertoire que nous venons de créer, placez-y l'archive tar compressée et lancez la décompression avec la | Bon, tout d'abord, récupérez les sources sur [http://www.postgresql.org/mirrors-ftp.html un des miroirs]. Au moment où j'écris cet article, la dernière version stable est la 7.4.2. Récupérez l'archive tar postgresql-7.4.2.tar.gz (ou une autre version si une mise à jour est disponible). Une fois les sources récupérées, placez-vous dans le répertoire que nous venons de créer, placez-y l'archive tar compressée et lancez la décompression avec la commande : | ||
<div class="code"> $ cd /usr/src/pgsql<br /> $ tar xvfj postgresql-7.4.2.tar.bz2</div> | <div class="code"> $ cd /usr/src/pgsql<br /> $ tar xvfj postgresql-7.4.2.tar.bz2</div> | ||
Entrez dans le répertoire créé et lancez l'opération de | Entrez dans le répertoire créé et lancez l'opération de configuration : | ||
<div class="code"> $ cd /usr/src/pgsql/postgresql-7.4.2<br /> $ ./configure "options"</div> | <div class="code"> $ cd /usr/src/pgsql/postgresql-7.4.2<br /> $ ./configure "options"</div> | ||
Dans cette commande, "options" doit être remplacé par une ou plusieurs options de configuration. En voici quelques-unes parmi les plus | Dans cette commande, "options" doit être remplacé par une ou plusieurs options de configuration. En voici quelques-unes parmi les plus intéressantes : | ||
* '''<code>--prefix=chemin</ | * '''<span class="code">--prefix=chemin</span>''', chemin où vous voulez installer PostgreSQL, sachant que celui-ci s'installe par défaut dans le répertoire /usr/local/pgsql ; | ||
* '''<code>--enable-nls</ | * '''<span class="code">--enable-nls</span>''', ajoute le support des locales (support multi-langues)Â ; | ||
* '''<code>--with-odbc</ | * '''<span class="code">--with-odbc</span>''', compile le module ODBCÂ ; | ||
* '''<code>--with-jdbc</ | * '''<span class="code">--with-jdbc</span>''', compile le module JDBCÂ ; | ||
* '''<code>--with-perl</ | * '''<span class="code">--with-perl</span>''', ajoute le support de Perl pour PostgreSQL ainsi que les modules Perl (utile si vous voulez utiliser Perl pour vos applications avec PostgreSQL)Â ; | ||
* '''<code>--with-tcl</ | * '''<span class="code">--with-tcl</span>''', ajoute le support de Tcl/Tk ; | ||
* '''<code>--with-pam</ | * '''<span class="code">--with-pam</span>''', ajoute le support de [http://www.kernel.org/pub/linux/libs/pam/Linux-PAM-html/pam.html PAM]Â ; | ||
* '''<code>--with-openssl</ | * '''<span class="code">--with-openssl</span>''', ajoute le support d'[http://www.openssl.org/ OpenSSL]. | ||
''<u> | ''<u>Remarque :</u> pour les développeurs qui souhaitent ajouter d'autres supports ou fonctions, tapez la commande ./configure --help pour connaître toutes les options disponibles.'' | ||
Une fois que le '''<code>./configure</ | Une fois que le '''<span class="code">./configure</span>''' a terminé son travail sans erreurs, lancez la compilation des sources avec : | ||
<div class="code"> $ make</div> | <div class="code"> $ make</div> | ||
Une étape optionnelle, mais néanmoins intéressante, est de lancer une vérification avec la | Une étape optionnelle, mais néanmoins intéressante, est de lancer une vérification avec la commande : | ||
<div class="code"> $ make check</div> | <div class="code"> $ make check</div> | ||
PostgreSQL va créer une base de données temporaire et tester un certain nombre d'opérations, comme la création d'une table, l'utilisation de champs de type divers, etc. Normalement, vous devriez avoir un taux de réussite de | PostgreSQL va créer une base de données temporaire et tester un certain nombre d'opérations, comme la création d'une table, l'utilisation de champs de type divers, etc. Normalement, vous devriez avoir un taux de réussite de 100Â %. | ||
Passez ensuite en super-utilisateur root pour lancer l' | Passez ensuite en super-utilisateur root pour lancer l'installation : | ||
<div class="code"> make install</div> | <div class="code"> make install</div> | ||
puis toujours en tant qu'utilisateur root, lancez la | puis toujours en tant qu'utilisateur root, lancez la commande : | ||
<div class="code"> chown postgres /usr/local/pgsql</div> | <div class="code"> chown postgres /usr/local/pgsql</div> | ||
''<u> | ''<u>Remarque :</u> remplacez /usr/local/pgsql par le répertoire d'installation spécifié avec l'option --prefix si vous en avez spécifiez un.'' | ||
== Installation à partir des RPMS == | == Installation à partir des RPMS == | ||
Ligne 80 : | Ligne 82 : | ||
postgresql-7.4.1-2mdk.i586 | postgresql-7.4.1-2mdk.i586 | ||
postgresql-server-7.4.1-2mdk.i586 | postgresql-server-7.4.1-2mdk.i586 | ||
Est-ce | Est-ce correct ? (O/n)</nowiki><br /> | ||
Préparation... ################################################## | Préparation... ################################################## | ||
1:postgresql ################################################## | 1:postgresql ################################################## | ||
Ligne 91 : | Ligne 93 : | ||
Passez en utilisateur '''root''' pour ces commandes. | Passez en utilisateur '''root''' pour ces commandes. | ||
On va ajouter dans la variable d'environnement PATH les binaires de PostgreSQL, les pages man, les données et ajouter au système les bibliothèques PostgreSQL pour activer le démarrage de PostgreSQL en automatique. Pour cela, éditez le fichier '''/etc/profile''' et ajoutez les lignes | On va ajouter dans la variable d'environnement PATH les binaires de PostgreSQL, les pages man, les données et ajouter au système les bibliothèques PostgreSQL pour activer le démarrage de PostgreSQL en automatique. Pour cela, éditez le fichier '''/etc/profile''' et ajoutez les lignes suivantes : | ||
<div class="code"> PATH=$PATH:/usr/local/pgsql/bin<br /> MANPATH=$MANPATH:/usr/local/pgsql/man<br /> PGLIB=/usr/local/pgsql/lib<br /> PGDATA=/usr/local/pgsql/data<br /> export MANPATH PGLIB PGDATA</div> | <div class="code"> PATH=$PATH:/usr/local/pgsql/bin<br /> MANPATH=$MANPATH:/usr/local/pgsql/man<br /> PGLIB=/usr/local/pgsql/lib<br /> PGDATA=/usr/local/pgsql/data<br /> export MANPATH PGLIB PGDATA</div> | ||
''<u> | ''<u>Remarque :</u> là aussi, remplacez /usr/local/pgsql par le répertoire d'installation spécifié avec l'option --prefix si vous en avez spécifiez un.'' | ||
Editez le fichier '''/etc/ld.so.conf''' et ajoutez la | Editez le fichier '''/etc/ld.so.conf''' et ajoutez la ligne : | ||
<div class="code"> /usr/local/pgsql/lib</div> | <div class="code"> /usr/local/pgsql/lib</div> | ||
Pour que cette modification soit prise en compte, lancez alors la | Pour que cette modification soit prise en compte, lancez alors la commande : | ||
<div class="code"> # ldconfig</div> | <div class="code"> # ldconfig</div> | ||
Puis, copiez le fichier '''/usr/src/pgsql/postgresql-7.4.2/contrib/start-scripts/linux''' dans le répertoire '''/etc/init.d''' sous le nom de '''postgresql''' | Puis, copiez le fichier '''/usr/src/pgsql/postgresql-7.4.2/contrib/start-scripts/linux''' dans le répertoire '''/etc/init.d''' sous le nom de '''postgresql'''Â : | ||
<div class="code"> cp /usr/src/pgsql/postgresql-7.4.2/contrib/start-scripts/linux /etc/init.d/postgresql</div> | <div class="code"> cp /usr/src/pgsql/postgresql-7.4.2/contrib/start-scripts/linux /etc/init.d/postgresql</div> | ||
Ligne 111 : | Ligne 113 : | ||
Il vous sera possible de lancer le serveur avec ce script. | Il vous sera possible de lancer le serveur avec ce script. | ||
Mais avant de lancer PostgreSQL, nous devons créer le répertoire des données grâce à la commande initdb. Pour cela, connectez-vous en tant qu'utilisateur postgres et lancer cette | Mais avant de lancer PostgreSQL, nous devons créer le répertoire des données grâce à la commande initdb. Pour cela, connectez-vous en tant qu'utilisateur postgres et lancer cette commande : | ||
<div class="code"> /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data</div> | <div class="code"> /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data</div> | ||
Ligne 117 : | Ligne 119 : | ||
Plusieurs messages s'afficheront pour vous indiquer la progression. | Plusieurs messages s'afficheront pour vous indiquer la progression. | ||
Voila, notre système est complètement configuré. Il ne nous reste plus qu'à lancer le serveur en tant qu'utilisateur | Voila, notre système est complètement configuré. Il ne nous reste plus qu'à lancer le serveur en tant qu'utilisateur root : | ||
<div class="code"> /etc/init.d/postgresql start</div> | <div class="code"> /etc/init.d/postgresql start</div> | ||
Vérifiez que postmaster est bien en cours d'exécution par | Vérifiez que postmaster est bien en cours d'exécution par un : | ||
<div class="code"> ps -aux | grep postmaster</div> | <div class="code"> ps -aux | grep postmaster</div> | ||
Ligne 129 : | Ligne 131 : | ||
== Contributions à PostgreSQL == | == Contributions à PostgreSQL == | ||
Dans le répertoire des sources se trouve un répertoire nommé '''contrib'''. Il contient un ensemble d'outils qui ne sont pas compilés par défaut mais dont l'utilité est particulièrement intéressante... au moins pour certains d'entre eux que | Dans le répertoire des sources se trouve un répertoire nommé '''contrib'''. Il contient un ensemble d'outils qui ne sont pas compilés par défaut mais dont l'utilité est particulièrement intéressante... au moins pour certains d'entre eux que voici : | ||
* dbsize ajoute une procédure stockée permettant le calcul de la taille d'un objet, que ce soit une base de données ou une | * dbsize ajoute une procédure stockée permettant le calcul de la taille d'un objet, que ce soit une base de données ou une table ; | ||
* mysql permet la conversion d'une base MySQL en une base | * mysql permet la conversion d'une base MySQL en une base PostgreSQLÂ ; | ||
* en indiquant à oid2name un OID, celui-ci vous indique le nom de l' | * en indiquant à oid2name un OID, celui-ci vous indique le nom de l'objet ; | ||
* oracle permet la conversion d'une base Oracle en base | * oracle permet la conversion d'une base Oracle en base PostgreSQLÂ ; | ||
* pg_autovacuum est un démon analysant en permanence l'état des tables de vos bases de données... lorsqu'il s'aperçoit qu'une opération de VACUUM devrait être lancée sur une table, il s'en occupe automatiquement, cela évite d'avoir à automatiser ce processus sur une simple base de temps (tous les jours, toutes les trois heures, etc.) | * pg_autovacuum est un démon analysant en permanence l'état des tables de vos bases de données... lorsqu'il s'aperçoit qu'une opération de VACUUM devrait être lancée sur une table, il s'en occupe automatiquement, cela évite d'avoir à automatiser ce processus sur une simple base de temps (tous les jours, toutes les trois heures, etc.)Â ; | ||
* tsearch2 est un outil de recherche de mots contenus dans des champs d'une ou plusieurs tables. | * tsearch2 est un outil de recherche de mots contenus dans des champs d'une ou plusieurs tables. | ||
Beaucoup d'autres outils existent dans ce répertoire, n'hésitez pas à les | Beaucoup d'autres outils existent dans ce répertoire, n'hésitez pas à les tester ! | ||
Profitons-en pour rappeller l'existence de deux sites de devéloppement d'outils spécifiques à | Profitons-en pour rappeller l'existence de deux sites de devéloppement d'outils spécifiques à PostgreSQLÂ : l'ancien, appelé GBorg (site désormais inexistant) et son [http://pgfoundry.org/ remplaçant, nommé PGFoundry]. | ||
== Configuration de PostgreSQL == | == Configuration de PostgreSQL == | ||
Ligne 148 : | Ligne 150 : | ||
Les développeurs de PostgreSQL vous encouragent vivement à modifier les valeurs par défaut et à tester vos modifications pour obtenir des performances optimales. | Les développeurs de PostgreSQL vous encouragent vivement à modifier les valeurs par défaut et à tester vos modifications pour obtenir des performances optimales. | ||
Ce fichier de configuration se trouve dans le répertoire des données et a pour nom '''postgresql.conf'''. Le chemin complet par défaut est donc '''/usr/local/pgsql/data/postgresql.conf'''. Il est bien commenté, ce qui permet de faire une première configuration assez rapidement. Voici quelques points à prendre en considération | Ce fichier de configuration se trouve dans le répertoire des données et a pour nom '''postgresql.conf'''. Le chemin complet par défaut est donc '''/usr/local/pgsql/data/postgresql.conf'''. Il est bien commenté, ce qui permet de faire une première configuration assez rapidement. Voici quelques points à prendre en considération rapidement : | ||
* tcpip_socket doit être vrai pour permettre une connexion TCP/ | * tcpip_socket doit être vrai pour permettre une connexion TCP/IP ; | ||
* max_connections détermine le nombre maximum de clients acceptés en même | * max_connections détermine le nombre maximum de clients acceptés en même temps ; | ||
* shared_buffers précise la mémoire partagée utilisée par | * shared_buffers précise la mémoire partagée utilisée par PostgreSQL ; | ||
* syslog est compris entre 0 et 2... avec 0, les traces sont envoyées sur la sortie standard... avec 1, elles arrivent sur la sortie standard et dans syslog alors qu'avec 2, elles ne vont que dans syslog. | * syslog est compris entre 0 et 2... avec 0, les traces sont envoyées sur la sortie standard... avec 1, elles arrivent sur la sortie standard et dans syslog alors qu'avec 2, elles ne vont que dans syslog. | ||
Ligne 164 : | Ligne 166 : | ||
<br/> | <br/> | ||
'''<b>[[Admin-index|@ Retour à la rubrique Administration système]]</b>''' | '''<b>[[Admin-index|@ Retour à la rubrique Administration système]]</b>''' | ||
<br/> | <br/> | ||
Dernière version du 22 juillet 2016 à 15:45
PostgreSQL: installation
[[Catégorie:{{{1}}} Documentations obsolètes]]
Cette documentation est considérée comme étant obsolète. Cela signifie que la documentation sur cette page est dépassée. Léa-Linux vous incite à ne pas suivre cette documentation dans votre utilisation d'une distribution récente. Cette documentation est conservée uniquement dans un souci de curiosité et d'archive documentaire, mais au moins une partie des informations qui la compose n'est plus valide. Trouvez des articles plus à jour dans la rubrique [[{{{1}}}]]. |
Introduction
PostgreSQL est un système de gestion de base de données relationelles, c'est-à-dire un SGDBR. C'est un logiciel libre. Sous Linux, les deux SGDBR les plus utilisés sont PostgreSQL et MySQL. MySQL est très utilisé pour de petites applications ou pour générer des pages Web dynamique (comme les forums de ce site par exemple) mais comporte quelques lacunes par rapport à PostgreSQL. De plus, PostgreSQL est mieux adapté pour de plus grosses bases, il est plus robuste en quelques sortes.
Cette rubrique n'est pas un apprentissage de PostgreSQL mais juste un "manuel d'installation".
Création de l'administrateur PostgreSQL
PostgreSQL gère lui aussi des utilisateurs pour attribuer des droits aux bases de données comme linux gère les droits pour la gestion des fichiers et du système. Donc, comme pour linux, il faut un "root", autrement dit un administrateur, pour PostgreSQL. Pour des questions de sécurité, utilisez toujours un compte utilisateur qui n'a aucun droit d'administration linux pour le compte "root" de PostgreSQL. On va donc créer cet utilisateur, avec par exemple comme nom postgres. Tapez en tant qu'utilisateur root :
Validez toutes les questions, et si le système vous demande un mot de passe, saisissez-en un. Au cas où aucun mot de passe ne vous est demandé, lancez la commande suivante :
Saisissez le mot de passe une première fois, puis confirmez-le.
Profitons d'être root pour créer le répertoire où nous déballerons les sources et pour donner les droits sur ce répertoire à l'utilisateur postgres :
# chown -R postgres /usr/src/pgsql
Maintenant, connectez-vous en tant qu'utilisateur postgres pour toutes les commandes ci-dessous, sauf si je vous indique clairement de vous connecter de nouveau en tant qu'utilisateur root. Pour tout le reste du document, je suppose que votre administrateur PostgreSQL est "postgres", à vous d'adapter suivant le nom que vous avez donné à ce compte.
Récupération des sources et compilation
Bon, tout d'abord, récupérez les sources sur un des miroirs. Au moment où j'écris cet article, la dernière version stable est la 7.4.2. Récupérez l'archive tar postgresql-7.4.2.tar.gz (ou une autre version si une mise à jour est disponible). Une fois les sources récupérées, placez-vous dans le répertoire que nous venons de créer, placez-y l'archive tar compressée et lancez la décompression avec la commande :
$ tar xvfj postgresql-7.4.2.tar.bz2
Entrez dans le répertoire créé et lancez l'opération de configuration :
$ ./configure "options"
Dans cette commande, "options" doit être remplacé par une ou plusieurs options de configuration. En voici quelques-unes parmi les plus intéressantes :
- --prefix=chemin, chemin où vous voulez installer PostgreSQL, sachant que celui-ci s'installe par défaut dans le répertoire /usr/local/pgsql ;
- --enable-nls, ajoute le support des locales (support multi-langues)Â ;
- --with-odbc, compile le module ODBCÂ ;
- --with-jdbc, compile le module JDBCÂ ;
- --with-perl, ajoute le support de Perl pour PostgreSQL ainsi que les modules Perl (utile si vous voulez utiliser Perl pour vos applications avec PostgreSQL)Â ;
- --with-tcl, ajoute le support de Tcl/Tk ;
- --with-pam, ajoute le support de PAMÂ ;
- --with-openssl, ajoute le support d'OpenSSL.
Remarque : pour les développeurs qui souhaitent ajouter d'autres supports ou fonctions, tapez la commande ./configure --help pour connaître toutes les options disponibles.
Une fois que le ./configure a terminé son travail sans erreurs, lancez la compilation des sources avec :
Une étape optionnelle, mais néanmoins intéressante, est de lancer une vérification avec la commande :
PostgreSQL va créer une base de données temporaire et tester un certain nombre d'opérations, comme la création d'une table, l'utilisation de champs de type divers, etc. Normalement, vous devriez avoir un taux de réussite de 100Â %.
Passez ensuite en super-utilisateur root pour lancer l'installation :
puis toujours en tant qu'utilisateur root, lancez la commande :
Remarque : remplacez /usr/local/pgsql par le répertoire d'installation spécifié avec l'option --prefix si vous en avez spécifiez un.
Installation à partir des RPMS
L'installation est plutôt simple :
# urpmi postgresql-server Pour satisfaire les dépendances, les paquetages suivants vont être installés (9 Mo): postgresql-7.4.1-2mdk.i586 postgresql-server-7.4.1-2mdk.i586 Est-ce correct ? (O/n)
Préparation... ################################################## 1:postgresql ################################################## 2:postgresql-server ##################################################
Configuration du système
Passez en utilisateur root pour ces commandes.
On va ajouter dans la variable d'environnement PATH les binaires de PostgreSQL, les pages man, les données et ajouter au système les bibliothèques PostgreSQL pour activer le démarrage de PostgreSQL en automatique. Pour cela, éditez le fichier /etc/profile et ajoutez les lignes suivantes :
MANPATH=$MANPATH:/usr/local/pgsql/man
PGLIB=/usr/local/pgsql/lib
PGDATA=/usr/local/pgsql/data
export MANPATH PGLIB PGDATA
Remarque : là aussi, remplacez /usr/local/pgsql par le répertoire d'installation spécifié avec l'option --prefix si vous en avez spécifiez un.
Editez le fichier /etc/ld.so.conf et ajoutez la ligne :
Pour que cette modification soit prise en compte, lancez alors la commande :
Puis, copiez le fichier /usr/src/pgsql/postgresql-7.4.2/contrib/start-scripts/linux dans le répertoire /etc/init.d sous le nom de postgresql :
Il vous sera possible de lancer le serveur avec ce script.
Mais avant de lancer PostgreSQL, nous devons créer le répertoire des données grâce à la commande initdb. Pour cela, connectez-vous en tant qu'utilisateur postgres et lancer cette commande :
Plusieurs messages s'afficheront pour vous indiquer la progression.
Voila, notre système est complètement configuré. Il ne nous reste plus qu'à lancer le serveur en tant qu'utilisateur root :
Vérifiez que postmaster est bien en cours d'exécution par un :
Si quelque chose ne va pas, relisez bien les indications ci-dessus, ou envoyez moi un courrier électronique.
Contributions à PostgreSQL
Dans le répertoire des sources se trouve un répertoire nommé contrib. Il contient un ensemble d'outils qui ne sont pas compilés par défaut mais dont l'utilité est particulièrement intéressante... au moins pour certains d'entre eux que voici :
- dbsize ajoute une procédure stockée permettant le calcul de la taille d'un objet, que ce soit une base de données ou une table ;
- mysql permet la conversion d'une base MySQL en une base PostgreSQLÂ ;
- en indiquant à oid2name un OID, celui-ci vous indique le nom de l'objet ;
- oracle permet la conversion d'une base Oracle en base PostgreSQLÂ ;
- pg_autovacuum est un démon analysant en permanence l'état des tables de vos bases de données... lorsqu'il s'aperçoit qu'une opération de VACUUM devrait être lancée sur une table, il s'en occupe automatiquement, cela évite d'avoir à automatiser ce processus sur une simple base de temps (tous les jours, toutes les trois heures, etc.)Â ;
- tsearch2 est un outil de recherche de mots contenus dans des champs d'une ou plusieurs tables.
Beaucoup d'autres outils existent dans ce répertoire, n'hésitez pas à les tester !
Profitons-en pour rappeller l'existence de deux sites de devéloppement d'outils spécifiques à PostgreSQLÂ : l'ancien, appelé GBorg (site désormais inexistant) et son remplaçant, nommé PGFoundry.
Configuration de PostgreSQL
La configuration par défaut de PostgreSQL n'est pas optimale. Elle est simplement étudiée pour correspondre aux machines les moins puissantes. Des améliorations ont été apportées, notamment pendant la création du dépôt des bases de données. En effet, la commande initdb va essayer de lancer le serveur avec plusieurs valeurs pour voir lesquelles sont les plus intéressantes pour votre serveur. Ceci dit, beaucoup d'autres options de configuration sont à vérifier, tester, voire modifier.
Les développeurs de PostgreSQL vous encouragent vivement à modifier les valeurs par défaut et à tester vos modifications pour obtenir des performances optimales.
Ce fichier de configuration se trouve dans le répertoire des données et a pour nom postgresql.conf. Le chemin complet par défaut est donc /usr/local/pgsql/data/postgresql.conf. Il est bien commenté, ce qui permet de faire une première configuration assez rapidement. Voici quelques points à prendre en considération rapidement :
- tcpip_socket doit être vrai pour permettre une connexion TCP/IP ;
- max_connections détermine le nombre maximum de clients acceptés en même temps ;
- shared_buffers précise la mémoire partagée utilisée par PostgreSQL ;
- syslog est compris entre 0 et 2... avec 0, les traces sont envoyées sur la sortie standard... avec 1, elles arrivent sur la sortie standard et dans syslog alors qu'avec 2, elles ne vont que dans syslog.
Il existe beaucoup d'autres options. En dehors des listes de diffusion, un document très important dans le cadre de la modification de ce fichier se trouve sur le site d'Elein Mustain. Il s'agit tout simplement d'un immense tableau récapitulant toutes les options pour le fichier de configuration, leur équivalent en ligne de commande ou en requête SQL si cet équivalent existe et leur explications. Malheureusement, aucune traduction de ce document n'est encore disponible.
Informations supplémentaires
Vous pouvez aussi contacter l'une des nombreuses listes de diffusion dont la liste française.
@ Retour à la rubrique Administration système
Copyright
Copyright © 17/08/2000, Serge Tchesmeli
Vous avez l'autorisation de copier, distribuer et/ou modifier ce document suivant les termes de la Licence pour documents libres, Version 1.1 publiée par la La Guilde des Doctorants. Pour plus d'informations consulter la LDL sur le site de La Guilde des Doctorants. |