ports:db:postgresql

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
ports:db:postgresql [2022/11/01 16:03] davidports:db:postgresql [2024/02/04 09:18] (Version actuelle) – [Préparation] zorro
Ligne 13: Ligne 13:
 Adaptez la configuration de la //jail// <label type="success">pg</label> : Adaptez la configuration de la //jail// <label type="success">pg</label> :
  
-<file ini pg/etc/rc.conf.local>+<file bash pg/etc/rc.conf.local>
 hostname="pg" hostname="pg"
 </file> </file>
- 
  
 <file javascript /etc/jail.conf> <file javascript /etc/jail.conf>
- 
 pg { pg {
         host.hostname = pg;                    host.hostname = pg;           
Ligne 30: Ligne 28:
         exec.stop = "/bin/sh /etc/rc.shutdown";         exec.stop = "/bin/sh /etc/rc.shutdown";
 } }
- 
 </file> </file>
  
Ligne 39: Ligne 36:
  
 <code bash> <code bash>
-root@popeye:ifconfig lo1 create +:ifconfig lo1 create 
-root@popeye:jail -c pg +:jail -c pg 
-root@popeye:#  +:pkg -j pg install databases/postgresql15-server
-root@popeye:# pkg -j pg install databases/postgresql15-server+
 </code> </code>
  
 Pour que l'interface réseau soit créée au démarrage: Pour que l'interface réseau soit créée au démarrage:
 <code bash> <code bash>
-root@popeye:sysrc cloned_interfaces+="lo1"+:sysrc cloned_interfaces+="lo1"
 </code> </code>
  
 Ainsi que la jail: Ainsi que la jail:
 <code bash> <code bash>
-root@popeye:sysrc jail_enable="YES" +:sysrc jail_enable="YES" 
-root@popeye:sysrc jail_list+="pg"+:sysrc jail_list+="pg"
 </code> </code>
 ===== Préparation ===== ===== Préparation =====
Ligne 60: Ligne 56:
  
 <code bash> <code bash>
-root@popeye:jexec pg +:jexec pg 
-root@pg:/usr/local/etc/rc.d/postgresql oneinitdb+:/usr/local/etc/rc.d/postgresql oneinitdb
 </code> </code>
  
 Vous allez probablement permettre à l'hôte voire d'autre jail de communiquer avec votre serveur, autorisez le à écouter tout le monde: Vous allez probablement permettre à l'hôte voire d'autre jail de communiquer avec votre serveur, autorisez le à écouter tout le monde:
  
-<code bash /var/db/postgres/data15/postgresql.conf>+<file bash /var/db/postgres/data15/postgresql.conf>
 listen_addresses = '*' listen_addresses = '*'
-</code>+</file>
  
 Affinez le contrôle en autorisant tout va transiter par l’hôte: Affinez le contrôle en autorisant tout va transiter par l’hôte:
-<code bash /var/db/postgres/data15//pg_hba.conf>+<file whitespace /var/db/postgres/data15/pg_hba.conf>
 host    all             all             192.168.0.1/24         trust host    all             all             192.168.0.1/24         trust
-</code>+</file>
  
 <code bash> <code bash>
-root@pg:service postgresql onestart+:service postgresql onestart
 2020-04-11 13:54:50.404 UTC [19008] LOG:  listening on IPv4 address "0.0.0.0", port 5432 2020-04-11 13:54:50.404 UTC [19008] LOG:  listening on IPv4 address "0.0.0.0", port 5432
 2020-04-11 13:54:50.421 UTC [19008] LOG:  listening on Unix socket "/tmp/.s.PGSQL.5432" 2020-04-11 13:54:50.421 UTC [19008] LOG:  listening on Unix socket "/tmp/.s.PGSQL.5432"
Ligne 85: Ligne 81:
 changez le mot de passe administrateur du serveur de base de données: changez le mot de passe administrateur du serveur de base de données:
  
-<code bash+<code postgresql
-root@popeye:#jexec pg  +:jexec pg  
-root@pg:su - postgres +:su - postgres 
 $ psql $ psql
 psql (13.8, server 15.0) psql (13.8, server 15.0)
Ligne 114: Ligne 110:
  
 <code bash> <code bash>
-root@popeye:#sysrc -j pg postgresql_enable="YES"+:sysrc -j pg postgresql_enable="YES"
 </code> </code>
  
 Vous pouvez maintenant démarrer le serveur de base de données: Vous pouvez maintenant démarrer le serveur de base de données:
 <code bash> <code bash>
-root@popeye:#service -j pg  postgresql start+:service -j pg  postgresql start
 </code> </code>
  
 +==== Extensions ====
 +
 +Selon vos besoins, installez le port [[https://www.freshports.org/databases/postgresql15-contrib/|postgresql-contrib]].
 +Pour, par exemple, charger l'extension [[https://www.postgresql.org/docs/15/pgstatstatements.html|pg_stat_statements]]:
 +
 +<code>
 +shared_preload_libraries = 'pg_stat_statements'
 +#pg_stat_statements.track = all
 +#pg_stat_statements.max = 10000
 +</code>
 ===== Tests ===== ===== Tests =====
  
Ligne 209: Ligne 215:
 Dans ce cas, vous pouvez attribuer la valeur ''disable'' à ''ip4'' et ''ip6'' de votre jail et l'isoler ainsi complètement du réseau. Dans ce cas, vous pouvez attribuer la valeur ''disable'' à ''ip4'' et ''ip6'' de votre jail et l'isoler ainsi complètement du réseau.
 </callout> </callout>
 +
 +===== ZFS ======
 +
 +Si vous utilisez une [[jails:zfs|jail sous ZFS]] vous pouvez améliorer les performances en paramétrant le //dataset// au mieux.
 +
 +<code bash>
 +zfs get atime,compression,primarycache,recordsize,dedup,reservation zroot/JAILS/master/pg15
 +NAME                     PROPERTY      VALUE           SOURCE
 +zroot/JAILS/master/pg15  atime         off             inherited from zroot
 +zroot/JAILS/master/pg15  compression   lz4             inherited from zroot
 +zroot/JAILS/master/pg15  primarycache  metadata        local
 +zroot/JAILS/master/pg15  recordsize    128K            default
 +zroot/JAILS/master/pg15  dedup         off             inherited from zroot/JAILS/master
 +zroot/JAILS/master/pg15  reservation   1G              local
 +</code>
  
 ===== Mettre à jour ===== ===== Mettre à jour =====
  
-Créer un répertoire ''pg_oldbin'' et y sauvegarder tout ce qui conserver postgresql dans ''/usr/local/bin'' +Stoppez le service: 
-Connectez vous à la base:+<code bash> 
 +service postgresql stop 
 +</code> 
 + 
 +Sauvegarder les répertoires  ''/usr/local/bin'' dans ''/usr/local/pgold''. 
 +Connectez vous en tant qu'utilisateur ''postgre'':
  
 <code bash> <code bash>
-su - postgres +su - postgres
-# pg_dumpall +
 </code> </code>
  
-Mettre à jour, puis+Installez la nouvelle version puis préparer la nouvelle base de données comme indiqué dans l'article. 
 +Demandez la migration:
 <code bash> <code bash>
-su - postgres +su - postgres 
-# mv <pg_data> <pgdata_old> +pg_update -b /usr/local/pgold -B /usr/local/bin/ -d ./data11 -D ./data15
-# mkdir <data-folder> +
-# initdb pgdata +
-pg_update -b pg_oldbin -d pgdata_old -D pgdata+
 </code> </code>
  
 +Une fois la migration terminée, démarrer le service et demandez un ''VACUUM ANALYZE;'' sur chaque base.
 +===== En savoir plus =====
  
 +<alert type="info">
 +  * [[https://pgconfigurator.cybertec.at/|Configurator]]
 +</alert>
  
  
  • ports/db/postgresql.1667318580.txt.gz
  • Dernière modification : 2022/11/01 16:03
  • de david