Installation server Postgresql

 

Preliminaire

 

attention sur un réseau 10.* il faut définir un proxy dans /etc/yum.conf

exemple pour geneve:

proxy=http://proxy.unige.ch:3128

Installation

 

http://www.postgresql.org/download/linux/redhat

suivre la doc en choisissant dans le repository:

http://www.postgresql.org:/download/linux/redhat/yum#

-> PostgresSQL 9.4 -> Scientific Linux 6 - i386 -> pgdg-sl94-9.4-2.noarch.rpm

Donc installer avec

yum install http://yum.postgresql.org/9.4/redhat/rhel-6-i386/pgdg-sl94-9.4-2.noarch.rpm

Avant de continuer il est possible de changer le directory où iront les bases de données (dans notre cas on ne le touche pas:

Edition de /etc/init.d/postgresql-9.4 et modifier le keyword PGDATA (defaut=/var/lib/pgsql/9.4/data)

puis selon la doc:

yum install postgresql94-server postgresql94-contrib

on lance le serveur:

service postgresql-9.4 initdb
chkconfig postgresql-9.4 on

Le serveur est prêt et lancé mais il faut enlever quelques sécurité . A noter que si on enlève pas les sécurité quelques messages bien documenté indique la marche à suivre.

Dans /var/lib/psql/9.4/data/postgresql.conf il faut assigner listen_addresses avec le IP où tourne le serveur:

listen_addresses="10.194.66.11"  

puis dans /var/lib/pgsql/9.4/data/pg_hba.conf il faut autoriser les reseaux d'où peuvent provenir les requêtes. Rem: dans cet exemple, la notation 129.194.64.0/22 donne le mask de 22 bit (depuis la gauche) des IP autorisés:

# IPv4 local connections:
host    all             all             127.0.0.1/32            ident
host	all		all		129.194.64.0/22		md5
host	all		all		10.194.64.0/22		md5

dernière étape: définir un mot de passe pour l'utilisateur postgres:

 

d'abord lancer le deamon:

/etc/init.d/postgresql-9.4 restart

Rem: c'est le cas où lors de la creation d'une base avec owner postgres, on reçoit un message d'erreur:

Authentification failed for user "postgres"

Il faut aller sur la machine où tourne le serveur et assigner le mot de passe (en standard user=postgres, password=postgres)

su postgres
psql
> alter user postgres with password 'postgres' ;
           (psql répond: ALTER ROLE)
> \q       (quit)

 

Le serveur postgres doit etre restarté suite à ces modifications:

/etc/init.d/postgresql-9.4 restart

c'est tout la base peut etre cree avec pgAdmin3 (Exemple)

avec: File -> Add Server ...

Properties
Name: nom de la base
Host: Ip du serveur
Username postgres
Password postgres
Store Password yes

LW (avec l'aide de Nico 12/02/2016)