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