« Reseau-bdd-postgresql install » : différence entre les versions
(conversion de la documentation originale de Léa par HTML::WikiConverter) |
(conversion de la documentation originale de Léa par HTML::WikiConverter) |
||
Ligne 11 : | Ligne 11 : | ||
== 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 21 : | ||
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 29 : | ||
== 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</code>''', chemin où vous voulez installer PostgreSQL, sachant que celui-ci s'installe par défaut dans le répertoire /usr/local/ | * '''<code>--prefix=chemin</code>''', 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</code>''', ajoute le support des locales (support multi-langues) | * '''<code>--enable-nls</code>''', ajoute le support des locales (support multi-langues)Â ; | ||
* '''<code>--with-odbc</code>''', compile le module | * '''<code>--with-odbc</code>''', compile le module ODBCÂ ; | ||
* '''<code>--with-jdbc</code>''', compile le module | * '''<code>--with-jdbc</code>''', compile le module JDBCÂ ; | ||
* '''<code>--with-perl</code>''', 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-perl</code>''', 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</code>''', ajoute le support de Tcl/ | * '''<code>--with-tcl</code>''', ajoute le support de Tcl/Tk ; | ||
* '''<code>--with-pam</code>''', ajoute le support de [http://www.kernel.org/pub/linux/libs/pam/Linux-PAM-html/pam.html PAM] | * '''<code>--with-pam</code>''', ajoute le support de [http://www.kernel.org/pub/linux/libs/pam/Linux-PAM-html/pam.html PAM]Â ; | ||
* '''<code>--with-openssl</code>''', ajoute le support d'[http://www.openssl.org/ OpenSSL]. | * '''<code>--with-openssl</code>''', 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</code>''' a terminé son travail sans erreurs, lancez la compilation des sources | Une fois que le '''<code>./configure</code>''' 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 80 : | ||
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 91 : | ||
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 111 : | ||
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 117 : | ||
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 129 : | ||
== 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Â : [http://gborg.postgresql.org/ l'ancien, appelé GBorg] et son [http://pgfoundry.org/ remplaçant, nommé PGFoundry]. | ||
== Configuration de PostgreSQL == | == Configuration de PostgreSQL == | ||
Ligne 148 : | Ligne 148 : | ||
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 162 : | Ligne 162 : | ||
<div class="merci">Cette page est issue de la documentation 'pré-wiki' de Léa a été convertie avec HTML::WikiConverter. Elle fut créée par Serge Tchesmeli le 17/08/2000.</div> | <div class="merci">Cette page est issue de la documentation 'pré-wiki' de Léa a été convertie avec HTML::WikiConverter. Elle fut créée par Serge Tchesmeli le 17/08/2000.</div> | ||
= Copyright = | |||
Copyright © 17/08/2000, Serge Tchesmeli | |||
{{LDL}} |
Version du 7 septembre 2005 à 12:13
PostgreSQL: installation
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 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.
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. |