PostgreSQL-9.0.6
Introduction à PostgreSQL
PostgreSQL est un advanced
object-relational database management system (ORDBMS,
système avancé de gestion de base de données relationnelles),
dérivé du système de gestion de base de données Berkeley Postgres.
Il se peut qu'il existe une version plus récente disponible sur la
page d'accueil de MySQL. Vous
pouvez regarder http://dev.mysql.com/ et probablement
utiliser les instructions BLFS existantes. Remarquez que des
versions différentes de celle indiquée aux adresses de
téléchargement n'ont pas été testées dans un environnement BLFS.
Ce paquet est connu pour se construire et fonctionner correctement
sur une plateforme LFS-7.0.
Informations sur le paquet
Dépendances de PostgreSQL
Facultatives
Python-2.7.2, Tcl-8.5.10, OpenSSL-1.0.0e, libxml2-2.7.8,
libxslt-1.1.26, OpenLDAP-2.4.23,
Linux-PAM-1.1.5, MIT Kerberos
V5-1.6 or Heimdal-1.4 et Bonjour
Facultatives (To Regenerate Documentation)
DocBook SGML DTD-4.5, DocBook DSSSL
Stylesheets-1.79, OpenJade-1.3.2 et SGMLSpm-1.03ii
Notes utilisateur : http://wiki.linuxfromscratch.org/blfs/wiki/postgresql
Installation de PostgreSQL
Installez PostgreSQL avec les
commandes suivantes :
Maintenant configurez et construisez le paquet:
./configure --prefix=/usr \
--docdir=/usr/share/doc/postgresql-9.0.6 \
--enable-thread-safety &&
make
Pour tester les résultats, lancez : make check.
Maintenant, en tant qu'utilisateur root
:
make install &&
make install-docs &&
chown -v root:root /usr/share/doc/postgresql-9.0.6/html/*
Note
Si vous mettez à jour un système existant et si vous allez
installer les nouveaux fichiers par-dessus les anciennes, vous
devriez sauvegarder vos données, éteindre le vieux serveur et
suivre les instructions dans
the official PostgreSQL
documentation (la documentation officielle).
Initialisez un morceau (cluster) de base de données par les
commandes suivantes effectuées par l'utilisateur root
:
install -v -m700 -d /srv/pgsql/data &&
groupadd -g 41 postgres &&
useradd -c "PostgreSQL Server" -g postgres -d /srv/pgsql/data \
-u 41 postgres &&
chown -v postgres /srv/pgsql/data &&
su - postgres -c '/usr/bin/initdb -D /srv/pgsql/data'
En tant qu'utilisateur root
,
démarrez le serveur de base de données avec la commande
suivante :
su - postgres -c '/usr/bin/postmaster -D /srv/pgsql/data > \
/srv/pgsql/data/logfile 2>&1 &'
Toujours en tant qu'utilisateur root
, créez une base de données et vérifiez
l'installation :
su - postgres -c '/usr/bin/createdb test' &&
echo "create table t1 ( name varchar(20), state_province varchar(20) );" \
| (su - postgres -c '/usr/bin/psql test ') &&
echo "insert into t1 values ('Billy', 'NewYork');" \
| (su - postgres -c '/usr/bin/psql test ') &&
echo "insert into t1 values ('Evanidus', 'Quebec');" \
| (su - postgres -c '/usr/bin/psql test ') &&
echo "insert into t1 values ('Jesse', 'Ontario');" \
| (su - postgres -c '/usr/bin/psql test ') &&
echo "select * from t1;" | (su - postgres -c '/usr/bin/psql test')
Explication des commandes
--docdir=/usr/share/doc/postgresql-9.0.6
>:nbsp;:
Ce paramètre met les docs html (et pdf, si créés) dans un
repertoire de version.
--enable-thread-safety
: Ce
paramètre rend les bibliothèques client enfilées de manière
sécurisée en autorisant les filages concurrents libpq
et aux programmes ECPG de contrôler en
sécurité leur gestions de connexion privée.
--with-perl
>:nbsp;: Construit le
langage PL/Perl coté serveur.
--with-python
>:nbsp;: Construit le
langage PL/Python coté serveur.
--with-openssl
>:nbsp;: Construit
avec le support pour les connexions OpenSSL chiffrées.
chown -R root:root
/usr/share/doc/postgresql/html/* : Cette
commande corrige la mauvaise appartenance des fichiers de
documentation.
groupadd ... ;
useradd ... :
Ces commandes ajoutent un utilisateur et un groupe non privilégiés
pour lancer le serveur de base de données.
createdb test; create table t1;
insert into t1 values...; select * from t1 :
Crée une base de données, y ajoute une table, insère des lignes
dans la table et les sélectionne pour vérifier que l'installation
fonctionne correctement.
Configuration de PostgreSQL
Fichiers
de configuration
$PGDATA/pg_ident.con
, $PGDATA/pg_hba.conf
et $PGDATA/postgresql.conf
La variable d'environnement PGDATA
est
utilisée pour distinguer les clusters de base de données entre
eux en la réglant sur la valeur du répertoire qui contient le
cluster désiré. Les trois fichiers de configuration existent dans
tout répertoire PGDATA/
directory.
Vous pouvez trouver des détails sur le format des fichiers et les
options qu'on peut régler dans chacun d'eux sur file:///usr/share/doc/postgresql/html/index.html.
Script de
démarrage
Installez le script de démarrage /etc/rc.d/init.d/postgresql
inclu dans le
paquet blfs-bootscripts-20111226.
make install-postgresql
Contenu
Programmes installés:
clusterdb, createdb, createlang,
createuser, dropdb, droplang, dropuser, ecpg, initdb, ipcclean,
pg_config, pg_controldata, pg_ctl, pg_dump, pg_dumpall,
pg_resetxlog, pg_restore, pltcl_delmod, pltcl_listmod,
pltcl_loadmod, postgres, postmaster, psql, reindexdb, et
vacuumdb
Bibliothèques installées:
libecpg.{so,a}, libecpg_compat.{so,a},
libpgport.a, libpgtypes.{so,a}, libpq.{so,a}, et various
charset modules.
Répertoires installés:
/srv/pgsql, /usr/include/libpq,
/usr/include/postgresql, /usr/lib/postgresql,
/usr/share/doc/postgresql, et /usr/share/postgresql
Descriptions courtes
clusterdb
|
est un outil pour reconstruire (reclustering) des tables
dans une base de données PostgreSQL.
|
createdb
|
crée une nouvelle base de données PostgreSQL.
|
createlang
|
définit un nouveau langage procédural PostgreSQL.
|
createuser
|
définit un nouveau compte utilisateur PostgreSQL.
|
dropdb
|
supprime une base de données PostgreSQL.
|
droplang
|
supprime un langage procédural PostgreSQL.
|
dropuser
|
supprime un compte utilisateur PostgreSQL.
|
ecpg
|
est le préprocesseur SQL embarqué.
|
initdb
|
crée un nouveau cluster de base de données.
|
ipcclean
|
supprime la mémoire partagée et les sémaphores laissées
par la chute d'un serveur de bases de données.
|
pg_config
|
récupère des informations sur la version de PostgreSQL.
|
pg_controldata
|
retourne des informations initialisées pendant
initdb,
telles que la version du catalogue et la locale du
serveur.
|
pg_ctl
|
contrôle l'arrêt et le démarrage du serveur de base de
données.
|
pg_dump
|
place dans un script des données et des méta-données de
base de données, elles sont utilisées pour recréer la
base de données.
|
pg_dumpall
|
appelle de manière récursive pg_dump pour chaque
base de données d'un cluster.
|
pg_resetxlog
|
nettoie le journal écrit et réinitialise éventuellement
des champs dans le fichier pg_control .
|
pg_restore
|
crée des bases de données à partir de fichiers cachés
créés par pg_dump.
|
pltcl_delmod
|
est un script de support utilisé pour effacer un module
d'une table PL/Tcl. La
commande exige que le paquet Pgtcl
soit aussi installé.
|
pltcl_listmod
|
est un script support utilisé pour lister les modules
d'une table PL/Tcl. La
commande exige que le paquet Pgtcl
soit aussi installé.
|
pltcl_loadmod
|
est un script support utilisé pour charger un module
d'une table PL/Tcl. La
commande exige que le paquet Pgtcl
soit aussi installé.
|
postgres
|
est un serveur de base de données mono-utilisateur,
utilisée en général pour du débogage.
|
postmaster
|
(un lien symbolique vers postgres) est un démon
de base de données multi-utilisateurs.
|
psql
|
est un shell de base de données en console.
|
reindexdb
|
est un outil pour reconstruire les index d'une base de
données.
|
vacuumdb
|
compacte des bases de données et génère des statistiques
pour l'analyseur de demandes.
|
libecpg.{so,a}
|
contient des fonctions pour supporté du SQL embarqué dans
des programmes C.
|
libecpg_compat.{so,a}
|
est la bibliothèque de compatibilité ecpg.
|
libgport.a
|
est le sous-système de port spécifique du backend
Postgres.
|
libpgtypes.{so,a}
|
contient des fonctions pour traiter des types de données
Postgres.
|
libpq.{so,a}
|
est l'API de programmation C pour Postgres.
|
Last updated on 2011-12-19 01:18:17 +0100