FreeBSD : jail PostgreSQL
- Mercredi 3 février 2010
- Publié dans BSD . FreeBSD . Système
- Par Boris HUISGEN
- Ecrire
Pour pouvoir exécuter un serveur PostgreSQL sous une jail FreeBSD, il est nécessaire d’autoriser le support de la mémoire partagée (SHM). Il convient d’activer le flag dans /etc/rc.conf :
jail_sysvipc_allow="YES"
Si cela n’est pas fait, l’initialisation de l’espace de stockage échoue de cette façon :
sql# /usr/local/etc/rc.d/postgresql oneinitdb The files belonging to this database system will be owned by user "pgsql". This user must also own the server process.</p> The database cluster will be initialized with locale C. The default text search configuration will be set to "english". creating directory /usr/local/pgsql/data ... ok creating subdirectories ... ok selecting default max_connections ... 10 selecting default shared_buffers ... 400kB creating configuration files ... ok creating template1 database in /usr/local/pgsql/data/base/1 ... FATAL: could not create shared memory segment: Function not implemented DETAIL: Failed system call was shmget(key=1, size=1622016, 03600). child process exited with exit code 1 initdb: removing data directory "/usr/local/pgsql/data"

Personnellement je trouve pas ça très propre d’utiliser
jail_sysvipc_allow= »YES »
car cela permet d’accéder à la mémoire hors jails, perso j’installe postgresql sur le système hôte ce n’est pas un daemon spécialement dangereux.
David.
@David Demelier
Bonjour,
Il peut-être intéressant de mettre en cage postgresql dans la mise en place d’un serveur web/php/postgresql lui-même mis dans un jail.
On peut ainsi avoir plusieurs versions de postgresql en fonction de besoins spécifiques – mise à jour, administration du cluster, tests,…-.
Bien sur, l’isolation n’est plus complète concernant l’ipc mais l’hôte est souvent une machine dédiée à des fins d’hébergements de services uniquement.
Nada.