Postgresql
Ressources
Commandes de base PSQL
- Accès aux commandes :
psql -U <utilisateur> <base> - Voir tous les langages disponibles :
SELECT * FROM pg_pltemplate; - Afficher la version de Postgres :
SELECT version(); - Afficher la date actuelle :
SELECT current_date; - Voir les bases :
\l - Voir les tables :
\d - Voir les rôles :
\du - Description d'une table :
\d <table> - Exécuter les instructions d'un fichier SQL :
\i <fichier.sql> - Changer de base de données :
\c <base> - Quitter :
\q
Taille de la base ou des tables :
SELECT pg_size_pretty(pg_database_size('DB')); SELECT pg_size_pretty(pg_relation_size('TABLE')); SELECT pg_size_pretty(pg_total_relation_size('TABLE')); // taille avec les indexes SELECT relname, relpages FROM pg_class ORDER BY relpages DESC
Commandes de l'utilisateur postgres
- Se loguer en tant qu'utilisateur unix postgres :
su - postgres - Créer un utilisateur :
createuser <nom-de-l-utilisateur> - Créer un base encodée en UTF-8 :
createdb -E UTF8 -O <utilisateur> <nom-de-la-base> - Définir un langage (plpgsql, …) pour la base de données :
createlang <langage> <base>
Dossiers contenant les fichiers de config de Postgresql
- Open Suse :
/var/lib/pgsql/data/ - Raspbian :
/etc/postgresql/X.Y/main/
Activer les logs des requêtes SQL
- Éditer le fichier postgresql.conf :
vi /var/lib/pgsql/data/postgresql.conf - Modifier les entrées :
- log_directory : pour indiquer le dossier qui contiendra les fichiers de log.
- log_statement : all pour loguer toutes les requêtes.
- log_min_duration_statement : en indiquant un temps d'exécution (en millisecondes) des requêtes pour loguer les requêtes lentes seulement (0 logue toutes les requêtes avec leur temps).