Installation postgres
Postgresql est installé sur glsmonitor
Installation:
sudo -s
apt-get install postgresql-9.5
Puis, pour tester si le postgres est parti:
su postgres ps -ef | grep postgres
on lit:
/usr/lib/postgresql/9.5/bin/postgres -D /var/lib/postgresql/9.5/main -c config_file=/etc/postgresql/9.5/main/postgresql.conf
La base est donc: /var/lib/postgresql/9.5/main/ et le fichier de config /etc/postgresql/9.5/main/postgresql.conf
Il est important de savoir que certaines distributions de Postgreql peuvent installer la base et le fichier de configuration dans d'autres endroits.
A ce moment il faut s'assurer que l'espace sera suffisant pour accueillir la base qui fait actuellement plus de 13 [GB].
S'il n'y a pas suffisant de place il faut la déplacer selon ce memo::
- arrêter le serveur postgres: /etc/init.d/postgresql stop
- creer un directory de detsination où on a de la place, ex: mkdir -p /opt/postgresql/9.5/
- synchroniser la base au nouvel endroit: rsync -avHl /var/lib/postgresql/9.5/main/ /opt/postgresql/9.5/main/
- si ok, remove de données originales rm -rf /var/lib/postgresql/9.5/main/
- faire le link: ln -s /opt/postgresql/9.5/main/ /var/lib/postgresql/9.5/
- redémarrer le serveur postgres: /etc/init.d/postgresql start
Il faut modifier le fichier de config pour donner le IP de la machine sur laquelle on ecoute (le Ip du NUC sur lequel on installe postgres) ex: pour glsnuc01 c'est 10.10.132.35 utilisez la commande host glsnuc01 pour le savoir. PHRASE A CORRIGER!!!! 0.0.0.0 a expliquer
vi /etc/postgresql/9.5/main/postgresql.conf on modifie listen_addresses = '0.0.0.0' # what IP address(es) to listen on;
Met a jour le firewall
vi /etc/postgresql/9.5/main/pg_hba.conf on ajoute (local + VPNs Labo electro et Astrodome): # IPv4 local connections: host all all 10.10.132.0/24 md5 host all all 10.10.133.0/24 md5 host all all 10.10.134.0/24 md5
Pour information: pour Geneve on aurait:
# IPv4 local connections: host all all 129.194.64.0/22 md5 host all all 10.194.64.0/22 md5
Modification du password postgres
postgres@glsnuc02:/home/obs$ psql psql (9.5.4) Type "help" for help. postgres=# alter user postgres with password 'postgres'; ALTER ROLE postgres=# \q postgres@glsnuc02:/home/obs$
Restart du server sous root:
/etc/init.d/postgresql restart
Pour le faire démarrer au boot:
systemctl enable postgresql
A partir de la on peut se connecter depuis pgadmin III
Ajout du serveur sur pgadmin III
dans pgadmin III menu File -> add server...
Donner un nom representatif:
Name = Euler Services DataBase on glsnuc01 (acces local)
Host = 10.10.132.35
Password = xxxxxx :o)
Mise à jour de la base des services
Les directory de services sous sous /gls/data/services ($TDATA/services)
Un certains nombre de services sont des liens sur la machine de service (glsserv). Ce sont:
accelerometre -> /net/glsserv/export/diskA/services/accelerometre// c2_jumo -> /net/glsserv/export/diskA/services/c2_jumo// c2_lakeshore -> /net/glsserv/export/diskA/services/c2_lakeshore// c2_temp -> /net/glsserv/export/diskA/services/c2_temp// climatisation -> /net/glsserv/export/diskA/services/climatisation// coralie -> /net/glsserv/export/diskA/services/coralie// coupo -> /net/glsserv/export/diskA/services/coupo// cryostat -> /net/glsserv/export/diskA/services/cryostat// externe -> /net/glsserv/export/diskA/services/externe// fp_pression -> /net/glsserv/export/diskA/services/fp_pression// fp_temp -> /net/glsserv/export/diskA/services/fp_temp/ groupefroid -> /net/glsserv/export/diskA/services/groupefroid// jumo -> /net/glsserv/export/diskA/services/jumo// lakeshore -> /net/glsserv/export/diskA/services/lakeshore// meteo -> /net/glsserv/export/diskA/services/meteo// pression -> /net/glsserv/export/diskA/services/pression// tele -> /net/glsserv/export/diskA/services/tele// tfibre -> /net/glsserv/export/diskA/services/tfibre// ups_l1 -> /net/glsserv/export/diskA/services/ups_l1/ ups_l2 -> /net/glsserv/export/diskA/services/ups_l2/ ups_l3 -> /net/glsserv/export/diskA/services/ups_l3/ ups_srv -> /net/glsserv/export/diskA/services/ups_srv/
Pour les créer (tcsh):
cd /gls/data/services/ foreach i (accelerometre c2_jumo c2_lakeshore c2_temp climatisation coralie coupo cryostat externe fp_pression fp_temp groupefroid jumo lakeshore meteo pression tele tfibre ups_l1 ups_l2 ups_l3 ups_srv) ln -s /net/glsserv/export/diskA/services/$i . end
Les directory suivants sont locaux à la machine qui tourne le logiciel d'observation:
blaze_a/ blaze_b/ ccf_th_a/ ccf_th_b/ drift/ focus/ loco_a/ loco_b/ temperature_telescope/ wave_a/ wave_tha2_b/ wave_thfp_b/
La mise à jour de la base depuis les fichiers rdb de services se fait avec l'utilitaire Meulup.jar
il faut connaitre l'emplacement des services existant dans le format rdb
Dans notre cas on les veut sur la machine ayant le serveur Postgresql
Donc optionellement s'il y aucun fichier de services (25 [min] 14[GB]):
Sur La Silla:
# rsync -avHl <old_argos1>:/gls/data/backup_services/ /gls/data/services/
Sur Geneve:
# rsync -avHl <xxx>@obslogin1.unige.ch:/obs/instrum3/services/ /gls/data/services/
ainsi les services rdb sont sous /gls/data/services.
Creation de la base
dans pgadminIII
sous le serveur tournant sur glsnuc02, on se connecte et on cree une nouvelle database:
menu: Database(1) -> New Database...
nom euler, propriétaire postgres
Les sources java a modifier pour le path et le IP:
- skmeul/hibernate/HibernateUtil.java
- meulup/main/Meulup.java
pour mettre à jour la base from scratch:
java -Xms2048m -Xmx2048m -jar Meulup.jar - - 19960101
Cela prend 4h17 sur glsnuc01