Exécuter des instructions SQL depuis un fichier
Il est souvent intéressant d'exécuter un fichier contenant une liste de commandes SQL, plutôt que de les entrer une par une dans le terminal. Cela permet en particulier de recréer une base de données à partir du script de création des tables.
Syntaxe :
Pour exécuter un fichier contenant du code SQL utiliser la commande PostgreSQL \i chemin/fichier.sql
chemin
désigne le répertoire dans lequel est le fichierfichier.sql
le dossier de travail de
psql
est le dossier dans lequel il a été lancé, le script peut être lancé à partir de son dossierhome
pour en être indépendant (~/.../fichier.sql
)chaque commande doit être terminée par un
;
dbnf17p015=> \i /home/me/bdd.sql
Méthode : Programmer une base de données avec PostgreSQL
Pour programmer une base de données sous PostgreSQL, voici une méthode générale :
Rendez-vous dans un répertoire de travail :
cd /home/me/bdd1
Créez ou ouvrez un fichier texte avec un éditeur colorisant :
atom fichier.sql
Ouvrez un terminal et exécutez votre client psql
Écrivez votre code SQL, et testez-le au fur et à mesure :
\i fichier.sql
Conseil : Tester votre code régulièrement
Afin de tester régulièrement votre base de données, pensez à insérer en début de script des instruction de destruction des tables.
On supprime les tables dans l'ordre inverse de leur création, on peut ajouter la clause IF EXISTS
afin d'éviter les erreurs lorsqu'une exécution précédente avait déjà échoué.
DROP TABLE IF EXISTS t2 ;
DROP TABLE IF EXISTS t1 ;
CREATE TABLE t1 (a VARCHAR PRIMARY KEY);
CREATE TABLE t2 (a VARCHAR REFERENCES t1(a));