-- Connexion via psql

psql -h serveurpgsql -U login baselogin

psql -h localhost -U postgres -> va chercher la base 'postgres'

superuser = postgres

-- Commandes psql

\\? aide sur les commandes pgsql
\\h aide sur les commandes sql
\\i requetes.sql -> exécute les requêtes du fichier requetes.sql
\\q : se déconnecter

\\d liste des tables
\\d nomTable -> equivalent describe
\\! pwd affiche le rep courant
\\cd rep (la tabulation fonctionne)

\\l liste des bases
\\l+ infos supplémentaires : taille, tablespace...
\\p affiche le tampon de requête
\\w file.sql -> enregistre le tampon dans file.sql
\\g resultat.txt -> enregistre le résultat de la requête stockée dans le tampon dans resultat.txt
\\dn et \\dn+ : liste des schémas
\\df liste des fonctions
\\du liste des rôles (users)

-- Creation d'utilisateur et de base

create role david password 'passwd' login;
alter role david set datestyle=sql,dmy;

create database basedavid owner david;
revoke connect on database basedavid from public; //Personne ne peut se connecter sur basedavid sauf 'david' et 'postgres'

-- modification de mot de passe
alter user david with password 'nouveaumdp';

\\connect [nombase [nomuser]] permet de changer de base (et de user) (ou \\c)

-- attention gestion de l'identification dans le fichier pg_hba.conf.
-- par défaut : trust -> ne demande pas de password
-- passer en md5