Il supporte une grande partie du standard SQL et offres des nombreuses autres fonctionnalités telles que la capacité de réplication, la répartition de charge, le contrôle de version concurrentes, intégrité transactionnelle, les triggers, etc... Pour plus d’informations je vous invite a consulter sa documentation.
Enfin de part sa licence libre qui facilite sa démocratisation, s'il n'y a qu'un seul SGBDR a connaitre, c'est probablement celui-ci.
Connexion au shell psql
1 | $ sudo -u postgres psql
|
Creation d'un utilisateur pour l'etablissement d'une connexion vers une futur base de données
1 2 3 4 5 6 7 | $ sudo -i -u postgres $ createuser -P --interactive nom_utilisateur Enter password for new role: Enter it again: Shall the new role be a superuser? (y/n) n Shall the new role be allowed to create databases? (y/n) y Shall the new role be allowed to create more new roles? (y/n) y |
Suppression d'un utilisateur
1 2 | $ sudo -i -u postgres $ dropuser -U postgres nom_utilisateur |
Creation/suppression d'une base de données associée a un utilisateur
1 2 3 | $ sudo -i -u postgres $ createdb -O nom_utilisateur -E UTF8 nom_de_la_db $ dropdb -U nom_utilisateur nom_de_la_db |
Execution d'une requette sur une base de données sur le compte de son l'utilisateur
1 | $ sudo -u postgres psql -U nom_utilisateur nom_de_la_db -c requette
|
Sauvegarde d'une base de données
1 2 | $ sudo -i -u postgres $ pg_dump -f $PATH_SAVE/nom_de_la_base.sql nom_de_la_base |
Restauration d'une base de données (attention la base doit avoir été recréer préalablement avec createdb)
1 | $ sudo -u postgres psql -f $PATH_SAVE/nom_de_la_base.sql nom_de_la_base |
Creation d'une table utilisateurs:
1 2 3 4 5 6 7 8 | $ sudo -u postgres psql $ CREATE TABLE utilisateurs ( id SERIAL PRIMARY KEY, email varchar( 60 ) UNIQUE NOT NULL , mot_de_passe varchar( 32 ) NOT NULL , nom varchar( 20 ) NOT NULL , date_inscription date NOT NULL ); |
On pourra noté pour ceux qui sont plus habitué de MySQL que les requêtes SQL ne sont pas syntaxiquement identique. On reviendra sur ce "détail". Mais ici par exemple il faut savoir que SERIAL signifie juste "NOT NULL AUTO_INCREMENT"
Insersion de données dans la table
1 2 | $ INSERT INTO utilisateurs (email, mot_de_passe, nom, date_inscription) VALUES ('moi@la.com', MD5('tutu'), 'BaMoi', NOW()); $ INSERT INTO utilisateurs (email, mot_de_passe, nom, date_inscription) VALUES ('toi@pas.la', MD5('utut'), 'EtToi', NOW()); |
Vérification de l’insertion
1 2 3 4 5 6 7 | $ SELECT * FROM utilisateurs; id | email | mot_de_passe | nom | date_inscription ----+------------+----------------------------------+-------+------------------ 4 | moi@la.com | bdb8c008fa551ba75f8481963f2201da | BaMoi | 2017-09-27 5 | toi@pas.la | 5c587bce24972d7a92e6cf1200f2001a | EtToi | 2017-09-27 (2 rows) |
La vérification de la suppression nous renvoie le résultat suivant
1 2 3 4 5 6 | $ delete from utilisateurs where id = 4; id | email | mot_de_passe | nom | date_inscription ----+------------+----------------------------------+-------+------------------ 5 | toi@pas.la | 5c587bce24972d7a92e6cf1200f2001a | EtToi | 2017-09-27 (1 row) |
Aucun commentaire:
Enregistrer un commentaire