Ceci est une ancienne révision du document !
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).