La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Licence GNU FDL - Version 1.5

Présentations similaires


Présentation au sujet: "Licence GNU FDL - Version 1.5"— Transcription de la présentation:

1 Licence GNU FDL - Version 1.5
Outil psql Licence GNU FDL - Version 1.5 Présentation de l’outil en ligne de commande: But: maitriser les opérations simples à l’aide de l’outil

2 PSQL: client PostgreSQL
Programme interactif en ligne de commande Fait partie de l'application PostgreSQL Très puissant, stable Permet d'exécuter des commandes SQL depuis le Shell Comportement identique sur toutes les plateformes Commandes interactives ou par fichiers

3 PSQL: Connection au serveur PostgreSQL
Forme générale: psql [OPTIONS]... [DBNAME [USERNAME]] Par exemple: psql -h <host> -U <user> -d <database> -p <port> ou psql <database> <user> ou si la base est sur localhost (socket Unix): psql [-U <user>] <dbname> Le fait de mentionner explicitement le -d est optionnel Le port par défaut est 5432 (mnémotechnique ) Faire le parrallèle avec le pg_hba.conf pour les logiques de droit d'accès

4 PSQL: I/O via le Shell Exécuter une commande SQL directement:
psql -d dbsig -c "SELECT * FROM my_table LIMIT 2" Exécuter un fichier contenant des commandes: psql -d dbsig -f sql_stream.sql (possibilité de rajouter l'option -a) Rediriger le résultat dans un fichier psql -d dbsig -f sql_stream.sql -o /tmp/out.txt cat /tmp/out.txt Possibiltié d'utiliser les redirection shell pour l'équivlent du -f (et du -o aussi) Pour le -c, possiblité de passer par un echo de la commande SQL puis un pipe sur psql

5 PSQL: Lister les bases existantes
Via la comande psql psql <options> -l En mode interactif \l Utilisation possible de \c en mode interactif pour changer la connection à la base courante

6 PSQL: Lister les tables de la base
Lister les tables, séquences, index ou vue de la base : \d Lister uniquement les tables de la base courante: \dt Lister les colonnes d'une ou plusieurs table ou vue \d nom_de_la_table Afficher des informations liées à une séquence ou index \d nom_de_la_sequence Wildcard acceptés pour \d -> * -> ? Se servir des wildcard pour lister toutes les tables d'un schema: \dt schema.* En rajoutant + à la fin, des infos supplémentaires sont données (droits, descriptions)

7 PSQL: Autres commandes en mode interactif
Lister les utilisateurs de la base courante: \du Lister les index de la base courante: \di Lister les séquences de la base courante: Lister les schémas de la base courante: \dn

8 PSQL: I/O en mode interactif
Executer une commande Shell depuis psql \! <command shell> Executer un fichier de commande SQL depuis psql: \i <path_filesystem_vers_fichier_SQL> Rediriger la sortie des requêtes SQL vers un fichier: \o <path_filesystem de redirection> Dans le cas de l'utilisation de \o - le flux de sortie est redirigé (il n'apparait donc plus dans psql) - pour revneir au mode de sortie 'classique' repasser un \o sans option de fichier

9 PSQL: Obtenir de l'aide en ligne
options/aide du programme: psql --help En mode interactif: \? (commandes psql) \h [SQL Command] (pour le langage SQL)

10 PSQL: Alignement des résultats
Par défaut les résultats sont alignés Désactiver l'alignement des résultats: SELECT * FROM mytable LIMIT 2; \a Particulièrement indiqués sur des enregistrement volumineux (i.e: géométries polygonales...) Possibilité d'utiliser l'option -A lors de la connection psql

11 PSQL: Encoding Afficher l'encoding courant du client PSQL:
Modifier l'encoding du client PSQL: \encoding latin1 Valeurs courantes: SQL_ASCII UTF8 LATIN1 Cf la page de doc d'encondign Postgres si besoin Bien insister sur le fait que l'on ne configure que l'encoding du client PostgreSQL, pas la base server-side !!

12 PSQL: Timer Mesure le temps d’exécution d’une commande
Activer/désactiver le timer \timing Exécute la requête et indique le temps nécessaire postgis=# select count(*) from spatial_ref_sys; -[ RECORD 1 ] count | 3749 postgis=# \timing Timing is on. Time: ms Faire le Parrallèle avec EXPLAIN ANALYZE qui donne le temps et le plan de requete mais n'execute pas réellement la query

13 PSQL: Variables d'execution
Lister les variables PostgreSQL: show shared_buffers; show all; Changer les variables d'execution via SET \help set (pour l’aide sur la commande) Exemple: changer le search_path set search_path to work, public, "$user"; TODO rajouter une note ici -> NICO

14 PSQL: Dummies TOP 5 Se croire (à tort) dans un shell et lancer des commandes système Et son pendant: se croire (à tort) connecté à PostgreSQL et lancer des commandes SQL Faire un SELECT, sans utiliser LIMIT sur une grosse table (interrompre avec Ctrl+C (voire Ctrl+Z)) Oublier le « ; » final dans une commande SQL (et ne pas comprendre pourquoi la requête ne s'exécute pas) Corollaire: ne pas respecter les fermetures de parenthèses ou guillemets • Bien insister sur ces points et donner des tips en lien avec le prompt pour que celà soit bien ancré ! • Pour le tips du ';' terminal cf l'option psql –S • Montrer le comportement du terminal et de son prompt en cas d’oubli de parentheses, de « ; »


Télécharger ppt "Licence GNU FDL - Version 1.5"

Présentations similaires


Annonces Google