SGBD
PostgreSQL
PostgreSQL est un moteur de base de données relationnelles conforme aux spécifications SQL92. Il apporte, par rapport à l'autre moteur (mySQL), les subselects.
Installation
Les commandes postgreSQL sont à lancer avec l'utilisateur unix, propriétaire des fichiers des bases: postgres. Les données de l'environnement d'execution sont placées dans /var/lib/pgsql. Les fichiers de configuration par défaut et la base initiale sont créés dans /var/lib/pgsql/data par la commande
>initdb
La partie /var/lib/pgsql/data doit en général être éffacée lors des mises à jours de PostgreSQL. Les données des bases doivent être alors exportées puis réimportées.
Création d'une base
>createuser --createdb nom_utilisateur
à partir d'un patron (template1 par defaut)
>createdb --username nom_utilisateur -T template[0-1] nom_base
Exportation
- de toute la base
>pgdump nom_base | gzip -9 >base.bgz
- du schéma
>pgdump --schema-only nom_base | gzip -9 >base.gz
- de toutes les données
>pg_dump --data-only nom_base | gzip -9 >base.bz
- de données d'une table
>pg_dump --data-only --table=nom_table nom_base
Restauration
si la table existe la détruire, puis la recréer
>zcat base.gz | psql nom_base
Destruction
- d'un utilisateur
>dropuser nom_utilisateur
- d'une base
>dropdb nom_base
MySQL
MySQL est un moteur de base de données relationnelles robuste mais plus limité que PostgreSQL (pas de subselect en v4).
Installation
Les commandes MysSQL sont à lancer avec l'utilisateur unix, propriétaire des fichiers des bases: mysql. Les données de l'environnement d'execution sont placées dans /var/lib/mysql. Les fichiers de configuration par défaut et la base initiale sont créés dans /var/lib/mysql par la commande :
>mysql_install_db
l'utilisateur root (différent du root système) a tous les droits et son mot de passe est vide.
Création d'une base
>mysqladmin create $nom_base
Affecter tous les droits à un utilistateur
>mysql grant all on $nom_base.* to $nom_utilisateur identified by $password
Destruction
>mysqladmin drop $nom_base