Tuto | Installez et débutez avec postgresql
Article publiée le 27 Décembre 2016
PostgreSQL est pour moi la meilleure alternative à Oracle. Elle allie performance, fiabilité et simplicité d’administration. Ayant eu pas mal de galère avec MySQL que je trouve plus « fragile » j’ai vite été séduis par la robustesse de PostGRESQL.
1) Installation
Debian/Ubuntu
apt-get install postgresql-*
RedHat/Centos
La version de postgresql contenu dans les dépôts de ces distributions sont un peu veilles. Je vous suggère d’ajouter les dépots yum officiel:
CentOS/RHEL
7
# rpm -Uvh http:
//yum.postgresql.org/9.4/redhat/rhel-7-x86_64/pgdg-centos94-9.4-1.noarch.rpm
CentOS/RHEL
6
# rpm -Uvh http:
//yum.postgresql.org/9.4/redhat/rhel-6-x86_64/pgdg-redhat94-9.4-1.noarch.rpm
CentOS/RHEL
5
# rpm -Uvh http:
//yum.postgresql.org/9.4/redhat/rhel-5-x86_64/pgdg-redhat94-9.4-1.noarch.rpm
9.4 correspond à la version de postgreSQL, rien ne vous empêche d’installer une version supérieur/inférieur en modifiant le lien.
Ensuite procédez à l’installation (encore une fois le numéro de la version est à adapter)
yum install postgresql94-server postgresql94
Initialisez l’instance postgresql:
/usr/pgsql-
9.4
/bin/postgresql94-setup initdb
2) Configuration
- Emplacement des fichiers de configuration sous RedHat/Centos: /var/lib/pgsql/9.4/data/postgresql.conf
- Emplacement des fichiers de configuration sous Debian/Ubuntu: /etc/postgresql/9.4/main/
Modifiez le fichier de configuration postgresql.conf avec la configuration suivante:
data_directory = ‘/var/lib/postgresql/9.4/main’
hba_file = ‘/etc/postgresql/9.4/main/pg_hba.conf’
ident_file = ‘/etc/postgresql/9.4/main/pg_ident.conf’
external_pid_file = ‘/var/run/postgresql/9.4-main.pid’listen_addresses = ‘*’
port = 5432
max_connections = 200
unix_socket_directories = ‘/var/run/postgresql’
ssl = trueshared_buffers = 512MB
work_mem = 16MB
maintenance_work_mem = 2048MBcheckpoint_segments = 64
checkpoint_completion_target = 0.9effective_cache_size = 1024MB
log_min_duration_statement = 500
log_line_prefix = ‘%m %d ‘datestyle = ‘iso, mdy’
#lc_messages = ‘en_US.UTF-8’
#lc_monetary = ‘en_US.UTF-8’
#lc_numeric = ‘en_US.UTF-8’
#lc_time = ‘en_US.UTF-8’lc_messages = ‘fr_FR.UTF-8’
lc_monetary = ‘fr_FR.UTF-8’
lc_numeric = ‘fr_FR.UTF-8’
lc_time = ‘fr_FR.UTF-8’
default_text_search_config = ‘pg_catalog.english’ssl_cert_file = ‘/etc/ssl/certs/ssl-cert-snakeoil.pem’
ssl_key_file = ‘/etc/ssl/private/ssl-cert-snakeoil.key’
Modifiez le fichier pg_hba.conf afin d’autoriser la connexion d’un client extérieur à votre base (à adapter selon la configuration de votre réseau):
# DO NOT DISABLE!
# If you change this first entry you will need to make sure that the
# database superuser can access the database using some other method.
# Noninteractive access to all databases is required during automatic
# maintenance (custom daily cronjobs, replication, and similar tasks).
#
# Database administrative login by Unix domain socket
local all postgres peer# TYPE DATABASE USER ADDRESS METHOD
# « local » is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 127.0.0.1/32 md5
host all all 192.1.1.137/24 md5
host all all 192.168.0.0/24 md5
Enfin redémarrez postgresql afin de charger la conf.
3) Connexion
Pour vous connecter à votre instance postgreSQL vous avez le choix entre deux méthodes:
- En ligne de commande:
[user@dbserver ~]$ psqlsu – postgres
[postgres@dbserver ~]$ psql
Vous serez ainsi connecter au client en ligne de commande Postgresql. Afin d’avoir un apercu des commandes tapez \h.
Pour plus d’info n’hésitez pas à consulter la documentation officiel : http://docs.postgresql.fr/
- Via une interface graphique
Il est également possible d’utiliser une interface graphique afin d’administrer votre instance postgreSQL.
Cette interface graphique du nom de PGADMIN est disponible en libre téléchargement: https://www.pgadmin.org/
Autre tutoriel sur postgresql:
Tutoriel | Configurer la réplication master/slave d’une instance PostgreSQL