PostgreSQL

De Mon Wiki
Aller à la navigation Aller à la recherche

Installation sous Debian

aptitude install postgresql
sed -i "s/^#\(listen_addresses = \)'localhost'\(.*\)/\1'*'\2/g" /etc/postgresql/9.4/main/postgresql.conf
printf "host\tall\t\tall\t\t192.168.1.0/24\t\tmd5\n" >> /etc/postgresql/9.4/main/pg_hba.conf
/etc/init.d/postgresql restart

Commandes PSQL en shell

Se connecter à PostreSQL :

psql -U NOM_USER -W

Se connecter à PostreSQL et à une base directement :

psql -U NOM_USER -W -d NOM_BASE

Liste les bases PostgreSQL :

psql -U NOM_USER -W -l

Lancer une requête SQL sur une base PostgreSQL :

psql -U NOM_USER -W -f requete.sql

Commandes PSQL

Se connecter à une base :

\c NOM_BASE

Se connecter à une base avec un utilisateur particulier :

\c NOM_BASE NOM_USER

Liste les bases disponible :

\l

ou

select datname from pg_database;

Liste les tables d'une base :

\d

ou

select table_name from information_schema.tables where table_schema = 'public';

Liste les colonnes d'une table :

\d NOM_TABLE;

ou

select column_name from information_schema.columns where table_name ='table';

Killer une requete :

select pg_cancel_backend(num_proc_pid);

Afficher les requêtes qui ont démarré depuis plus d'une heure :

select * from pg_stat_activity where query_start < (select current_timestamp - '1 hour'::interval) and current_query <> '<IDLE>';

Killer les requêtes qui ont démarré depuis plus d'une heure :

select pg_cancel_backend(procpid) from pg_stat_activity where query_start < (select current_timestamp - '1 hour'::interval) and current_query <> '<IDLE>';

Compter le nombre de ligne dans une table :

select count(*) from table;

Obtenir l'emplacement des data :

show data_directory;