Skip to main content

jmar.fr

Installation de PostgreSQL via YUM

Table of Contents

Note: Toute cette procédure est applicable pour Centos6

# 1. Configurer le dépôt officiel

rpm -ivh http://yum.postgresql.org/9.3/redhat/rhel-6-x86_64/pgdg-centos93-9.3-1.noarch.rpm

# 2. Installer les paquets nécessaires

yum install postgresql93 postgresql93-server postgresql93-contrib --enablerepo=postgresql93

# 3. Créer le fichier de paramètres

Sous Centos, il est possible de créer un fichier dans /etc/sysconfig/pgsql/. Ce fichier permet de fixer les valeurs par defaut de l’instance

  • /etc/sysconfig/pgsql/postgresql-9.3:
    PGDATA="/srv/postgresql/"
    PGPORT="5432"
    PG_INITDB_OPTS="--locale=en_US.UTF8"

# 4. Initialisation de l’instance

/etc/init.d/postgresql-9.3 initdb

Ne pas oublier d’activer PostgreSQL au démarrage de la machine :

chkconfig postgresql-9.3 on

# 5. Création d’une base avec l’utilisateur associé

su - postgres
/usr/pgsql-9.3/bin/createdb mabase
/usr/pgsql-9.3/bin/createuser -l monuser -W
# Entrer le mot de passe utilisateur

Il faut ensuite attribuer les droits à l’utilisateur sur la base. Ici nous allons le rendre propriétaire de la base.

psql
ALTER DATABASE mabase OWNER TO monuser;

# 6. Droits d’accès aux différentes bases

Le fichier pg_hba.conf se trouve dans le répertoire $PGDATA. Il permet de déterminer qui peut se connecter à tel ou tel base et quelle méthode d’authentification il doit utiliser.

http://www.postgresql.org/docs/9.3/static/auth-pg-hba-conf.html

Le fichier par défaut que j’utilise est le suivant :

# TYPE  DATABASE        USER            ADDRESS                 METHOD
# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    mabase         monuser          127.0.0.1/32            md5

# IPv6 local connections:
host    mabase        monuser           ::1/128                 md5

Ici, les connexions via le socket local sont autorisées sans mot de passe à condition que l’utilisateur Unix soit le même que l’utilisateur de connexion à PostgreSQL. Les connexions à la base mabase avec l’utilisateur monuser sont autorisées à partir de la boucle locale en ipv4 et en ipv6 avec la saisie d’un mot de passe. Le client doit envoyer le mot de passe en MD5

# Dernière étape

Il faut penser à recharger la configuration afin de prendre en compte la modification du fichier pg_hba.conf

/etc/init.d/postgresql-9.3 reload