PostgreSQL est un système de gestion de bases de données objets relationnelles (ORDBMS), dérivé du système de gestion de bases de données Postgres de Berkeley.
Téléchargement (HTTP): http://gd.tuwien.ac.at/db/postgresql/v7.4.2/postgresql-7.4.2.tar.bz2
Téléchargement (FTP): ftp://ftp.fr.postgresql.org/v7.4.2/postgresql-7.4.2.tar.bz2
Taille du téléchargement: 9,7 Mo
Estimation de l'espace disque requis: 80 Mo
Estimation du temps de construction: 1,21 SBU
Installez PostgreSQL avec les commandes suivantes:
./configure --prefix=/usr &&
make &&
make install
Si vous mettez à jour un système existant et que vous allez installer les nouveaux fichiers sur les anciens, alors vous devriez faire une sauvegarde, arrêter le serveur et suivre les instructions dans la documentation officielle de PostgreSQL .
Initialisez un groupe de base de données avec les commandes suivantes :
mkdir -p /var/pgsql/data &&
useradd -d /var/pgsql/data postgres &&
chown postgres /var/pgsql/data &&
su - postgres -c '/usr/bin/initdb -D /var/pgsql/data'
Démarrez le serveur de base de données avec la commande suivante :
su - postgres -c '/usr/bin/postmaster -D /var/pgsql/data > \
/var/pgsql/data/logfile 2>&1 &'
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')
useradd -d /var/pgsql/data postgres : Ajoute un utilisateur non privilégié pour exécuter le serveur de base de données.
createdb test, create table t1 , insert into t1 values..., select * from t1 : Crée la base de donnée, ajoute une table, insère quelques lignes dans la table et les sélectionne pour vérifier que l'installation fonctionne correctement.
$PGDATA/pg_ident.con, $PGDATA/pg_hba.conf, $PGDATA/postgresql.conf
La variable d'environnement PGDATA est utilisé pour distinguer les clusters de bases de données en lui donnant comme valeur celle du répertoire contenant le cluster désiré. Les trois fichiers de configuration existent dans chaque répertoire PGDATA/. Les détails sur le format des fichiers et des options disponibles dans chacun d'entre eux peuvent être trouvé dans:
file:///usr/share/doc/postgresql/html/tutorial.html
Créez le script de démarrage postgres avec ce qui suit:
cat > /etc/rc.d/init.d/postgres << "EOF"
#!/bin/bash
# Début $rc_base/init.d/postgres
# Basé sur le script sysklogd de LFS-3.1 et précédent.
# Réécrit par Gerard Beekmans - gerard@linuxfromscratch.org
source /etc/sysconfig/rc
source $rc_functions
case "$1" in
start)
echo "Starting PostgreSQL daemon..."
su - postgres -c '/usr/bin/pg_ctl start -W -D /var/pgsql/data \
-l /var/pgsql/data/logfile -o "-i" '
evaluate_retval
;;
stop)
echo "Stopping PostgreSQL daemon..."
/usr/bin/pg_ctl stop -m smart -D /var/pgsql/data
evaluate_retval
;;
restart)
$0 stop
sleep 1
$0 start
;;
status)
/usr/bin/pg_ctl status -D /var/pgsql/data
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
exit 1
;;
esac
# Fin $rc_base/init.d/
EOF
chmod 755 /etc/rc.d/init.d/postgres
Créez le lien symbolique de ce fichier dans le répertoire rc.d adéquat avec les commandes suivantes:
make install-postgresql
Le package PostgreSQL contient clusterdb, createdb, createlang, createuser, dropdb, droplang, dropuser, ecpg, initdb, initlocation, ipcclean, pg_config, pg_controldata, pg_ctl, pg_dump, pg_dumpall, pg_encoding, pg_id, pg_resetxlog, pg_restore, pgtclsh, pgtksh, pltcl_delmod, pltcl_listmod, pltcl_loadmod, postgres, postmaster, psql, vacuumdb, libecpg, libpgtcl, libpgtypes, libpq et différents modules de caractères.
clusterdb est un utilitaire pour reclustering les tables d'une base de données PostgreSQL.
ipcclean supprime la mémoire partagée et les sémaphores laissées par un serveur de base de données annulé.
pg_controldata renvoit des informations initialisées lors de la commande initdb, telle que la version du catalogue et la locale du serveur.
pg_dump extrait les données et les metadatas d'une base de données et les mets dans des scripts qui sont utilisés pour recréer la base de données.
pg_resetxlog efface les traces “write-ahead” et réinitialise de façon optionnel quelques champs du fichier pg_control.
pgtclsh est une interface étendue shell en Tcl avec des fonctions d'accès aux bases de données PostgreSQL.
pgtksh est une interface étendue shell en Tcl/Tk avec des fonctions d'accès aux bases de données PostgreSQL.
postgres est un serveur de base de données simple utilisateur, généralement utilisé pour le débuggage.