serveur du hackathon - SGMAP-AGD/DAMIR GitHub Wiki
Base PostgreSQL
Se connecter
On peut se connecter au serveur grâce à la commande psql. Sur Linux et Mac, il suffit d'ouvrir un terminal. Sur Windows, il faut utiliser un client postgresql comme pgAdmin:
psql -h 192.168.1.200 -d damir -U hackdds
Il faut ensuite rentrer le mot de passe: hackdds
Faire des requêtes
Les commandes utiles sont:
\d: liste des tables\?: liste des fonctions propres à psql\h+ commande SQL : aide sur la commande
On peut voir la liste des tables :
\d
On voit par exemple qu'il y a une table qui s'appelle r_201001. On peut voir son schéma grâce à la commande \d :
\d r_201001
On peut aussi ( et c'est conseillé) voir 10 premières lignes de la table r_201001 :
SELECT * FROM r_201001 LIMIT 10;
On peut exporter une sélection en CSV à l'aide de la commance \COPY :
\COPY (SELECT * FROM r_201001 LIMIT 10) TO /home/damir/test.csv WITH CSV;
On peut faire la somme de la variable montant remboursé (rem_mon) :
SELECT SUM(rem_mon) FROM r_201001;
On peut aussi faire la somme de cette même variable par CPAM :
SELECT cpam, SUM(rem_mon) from r_201001 group by cpam;
On peut faire la même chose et l'exporter en CSV :
\COPY (SELECT cpam, SUM(rem_mon) from r_201001 group by cpam) TO /home/damir/group_by_cpam.csv WITH CSV;
Pour aller plus loin
Récupérer la liste des tables qui commencent par n :
select table_name from information_schema.tables where table_schema like 'public' and table_name like 'n%' ;
Récupérer la liste des vues:
select table_name from INFORMATION_SCHEMA.views WHERE table_schema = ANY (current_schemas(false));
Sélectionner 1000 lignes au hasard dans r_201001:
select * from r_201001 order by random() limit 1000;
Faire une jointure entre une table r et la table cpam:
SELECT r.* ,c.dpt ,c.region ,c.l_dpt ,c.l_region FROM r_201001 r JOIN cpam c on r.cpam = c.cpam LIMIT 10;
Les tables r_AAAAMM sont aussi regroupées au sein d'une table virtuelle r_full.
###Tables annexes (libellés) Les tables lib_xxx contiennent les libellés correspondants aux valeurs présentes dans les tables r_AAAAMM. La table cpam contient aussi le numéro de département et de région de chaque CPAM ainsi que leur libellé.
##Quelques statistiques Voici une compilation de quelques chiffres de l'activité du serveur durant le hackathon (chiffres à 18h):
- plus de 1 million de requêtes SQL traitées dans la journée
- un volume de données échangé sur le réseau ethernet de plus de 650Go
- un pic à plus de 800Mbps sur le réseau gigabit ethernet
- un maximum de 87 utilisateurs connectés en simultané
- environ 400m de câbles Ethernet...