Tuto | Installation d’un serveur PostgreSQL multi-instances
Article publiée le 27 Décembre 2016
Je continue dans ma lancée des tutoriels concernant l’installation et la configuration de base de données multi instance (cf: tuto sur l’installation d’une base Mysql multi instance: http://journaldunadminlinux.fr/tuto-installation-dune-mysql-multi-instance/).
Si vous ne connaissez rien du tout sur postgresql je vous suggère d’aller faire un tour sur le tuto d’installation de postgres: http://journaldunadminlinux.fr/tuto-installation-dune-mysql-multi-instance/
Ci-dessous la procédure pour configurer un serveur postgresql en multi instance
- Procédez à l’installation de PostgreSQL via la commande apt-get install postgresql postgresql-common postgresql-contrib
- Faites, une sauvegarde du fichier de configuration /etc/postgresql/9.4/main/postgresql.conf
- Copier la configuration ci-dessous dans votre fichier postgresql.conf:
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 =
'localhost'
port =
5432
max_connections =
100
unix_socket_directories =
'/var/run/postgresql'
ssl =
true
shared_buffers = 1024MB
work_mem = 16MB
maintenance_work_mem = 1024MB
checkpoint_segments =
64
checkpoint_completion_target =
0.9
effective_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'
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'
- Créez les dossiers de stockage avec les bons droits:
mkdir /srv//pg && chown postgres:postgres /srv//pg && chmod
700
/srv/pg
-
Créez les répertoires pour les fichiers de configurations
mkdir /etc/postgresql/
9.4
/<instance>
- Créez la nouvelle instance
su - postgres
/usr/lib/postgresql/
9.4
/bin/initdb -D /srv//pg
cp /etc/postgresql/
9.4
/main/*conf /etc/postgresql/
9.4
/<instance name>
- Éditez et modifier le fichier /etc/postgresql/9.4/<instance name>/postgresql.conf avec les bonnes informations
|
- Redémarrez PostgreSQL
Quelques commandes pour aider (version « 9.4 » adapter bien évidemment):
Lister les Clusters : pg_lsclusters
Arrêter une instance: pg_ctlcluster 9.4 <instance name> stop
Démarrer une instance: pg_ctlcluster 9.4 instance1 start