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 [2020/04/25 18:51] davidports:db:postgresql [2022/11/02 19:53] (Version actuelle) david
Ligne 4: Ligne 4:
 C'est un serveur de base de données dont vous aurez certainement besoin pour alimenter vos sites web et applications. C'est un serveur de base de données dont vous aurez certainement besoin pour alimenter vos sites web et applications.
 </jumbotron> </jumbotron>
-Préparez [[https://www.freshports.org/databases/postgresql11-server/|databases/postgresql11-server]] dans vos [[ports:poudriere|poudrières]].+Préparez [[https://www.freshports.org/databases/postgresql15-server/|databases/postgresql15-server]] dans vos [[ports:poudriere|poudrières]].
 Dans l'exemple qui suit <label type="primary">popeye</label> est l'hôte et <label type="success">pg</label> est la //jail//. Dans l'exemple qui suit <label type="primary">popeye</label> est l'hôte et <label type="success">pg</label> est la //jail//.
  
 ===== Préparez une Jail ===== ===== Préparez une Jail =====
  
-Construisez une [[jails:zfs|jail]] nommée <label type="success">pg</label>  et placée dans ''/jails/pg'' pour accueillir votre serveur de bases de données.+Construisez une [[jails:zfs|jail]] nommée <label type="success">pg</label> dans ''/jails/pg'' pour accueillir votre serveur de bases de données.
  
 Adaptez la configuration de la //jail// <label type="success">pg</label> : Adaptez la configuration de la //jail// <label type="success">pg</label> :
Ligne 36: Ligne 36:
  
   * ''mount.devfs'', en fait l'installation de //postgresql// n'a besoin que de ''/dev/null''. C'est le moyen le plus rapide de l'avoir.   * ''mount.devfs'', en fait l'installation de //postgresql// n'a besoin que de ''/dev/null''. C'est le moyen le plus rapide de l'avoir.
-  * ''sysvshm=inherit'' ou ''allow.sysvipc=1'', //postgresql// doit pouvoir allouer une [[https://www.freebsd.org/cgi/man.cgi?query=shmget&apropos=0&sektion=2&manpath=FreeBSD+12.1-RELEASE&arch=default&format=html|shared memory SYSV]] pour fonctionner, ''sysvipc'' va ouvrir d'autres //IPC// que //shm//.+  * ''sysvshm=inherit'' ou ''allow.sysvipc=1'', //postgresql// doit pouvoir allouer une [[https://www.freebsd.org/cgi/man.cgi?query=shmget&apropos=0&sektion=2&manpath=FreeBSD+13.1-RELEASE&arch=default&format=html|shared memory SYSV]] pour fonctionner, ''sysvipc'' va ouvrir d'autres //IPC// que //shm//.
  
 <code bash> <code bash>
Ligne 42: Ligne 42:
 root@popeye:# jail -c pg root@popeye:# jail -c pg
 root@popeye:#  root@popeye:# 
-root@popeye:# pkg -j pg install databases/postgresql11-server+root@popeye:# pkg -j pg install databases/postgresql15-server
 </code> </code>
  
Ligne 50: Ligne 50:
 </code> </code>
  
 +Ainsi que la jail:
 +<code bash>
 +root@popeye:# sysrc jail_enable="YES"
 +root@popeye:# sysrc jail_list+="pg"
 +</code>
 ===== Préparation ===== ===== Préparation =====
  
Ligne 61: Ligne 66:
 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/data11/postgresql.conf>+<code bash /var/db/postgres/data15/postgresql.conf>
 listen_addresses = '*' listen_addresses = '*'
 </code> </code>
  
 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/data11//pg_hba.conf>+<code bash /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> </code>
Ligne 84: Ligne 89:
 root@pg:# su - postgres  root@pg:# su - postgres 
 $ psql $ psql
-psql (11.7)+psql (13.8, server 15.0) 
 +WARNING: psql major version 13, server major version 15. 
 +         Some psql features might not work.
 Type "help" for help. Type "help" for help.
- 
 postgres=# \l postgres=# \l
                              List of databases                              List of databases
Ligne 113: Ligne 119:
 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:#jexec pg service postgresql start+root@popeye:#service -j pg  postgresql start
 </code> </code>
- 
- 
  
 ===== Tests ===== ===== Tests =====
Ligne 140: Ligne 144:
 </code> </code>
  
-A l'aide du client [[https://www.freshports.org/databases/postgresql11-client/|databases/postgresql11-client]]+A l'aide du client [[https://www.freshports.org/databases/postgresql15-client/|databases/postgresql15-client]]
 <code bash> <code bash>
 root@popeye# pg_isready --host=192.168.0.10 root@popeye# pg_isready --host=192.168.0.10
Ligne 149: Ligne 153:
 root@popeye# psql -U postgres --host=192.168.0.10 -W root@popeye# psql -U postgres --host=192.168.0.10 -W
 Password:  Password: 
-psql (11.7)+psql (13.8, server 15.0) 
 +WARNING: psql major version 13, server major version 15. 
 +         Some psql features might not work.
 Type "help" for help. Type "help" for help.
- 
 postgres-# \l postgres-# \l
                              List of databases                              List of databases
Ligne 169: Ligne 174:
 ===== Socket unix ===== ===== Socket unix =====
  
-Vous avez noté la ligne de sockstat:+Vous avez noté la ligne de sockstat(1):
  
 <code bash> <code bash>
Ligne 175: Ligne 180:
 </code> </code>
  
-Cela signifie que vous pouvez communiquer avec la serveur via une socket unix, c'est à dire, que nous n'avez même pas besoin de configuration de réseau dans cette //jail//:+Cela signifie que vous pouvez communiquer avec la serveur via une socket(2) unix
 +\\ \\ Vous n'avez même pas besoin de configuration réseau pour communiquer avec cette //jail//:
  
 <code bash> <code bash>
 root@popeye:# psql -U postgres --host=/jails/pg/tmp/ -W root@popeye:# psql -U postgres --host=/jails/pg/tmp/ -W
 Password:  Password: 
-psql (11.7)+psql (13.8, server 15.0) 
 +WARNING: psql major version 13, server major version 15. 
 +         Some psql features might not work. 
 +Type "help" for help.
  
 postgres=# \l postgres=# \l
Ligne 197: Ligne 206:
 </code> </code>
  
 +<callout type="primary" icon="true">
 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>
 +
 +===== Mettre à jour =====
 +
 +Créer un répertoire ''pg_oldbin'' et y sauvegarder tout ce qui conserver postgresql dans ''/usr/local/bin''
 +Connectez vous à la base:
 +
 +<code bash>
 +# su - postgres
 +# pg_dumpall 
 +</code>
 +
 +Mettre à jour, puis
 +<code bash>
 +# su - postgres
 +# mv <pg_data> <pgdata_old>
 +# mkdir <data-folder>
 +# initdb pgdata
 +# pg_update -b pg_oldbin -d pgdata_old -D pgdata
 +</code>
  
 +===== En savoir plus =====
  
 +<alert type="info">
 +  * [[https://pgconfigurator.cybertec.at/|Configurator]]
 +</alert>
  
  
  • ports/db/postgresql.1587840714.txt.gz
  • Dernière modification : 2020/04/25 18:51
  • de david