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]

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