PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 12/01/2015 15:15:52

remi02100
Membre

initdb : could not access directory

Bonjour à tous,

voilà j'essaie de mettre les données de mon serveur pgsql sur un disque réseau via NFS et je n'y parviens pas !

Lorsque je fais la manipulation en restant en localhost ça marche sans souci mais dès que je veux créer le cluster sur le NFS et bien impossible pour initdb d'accéder au répertoire :

sudo mkdir /nfs/pgsql/
sudo chown postgres /nfs/pgsql/
sudo su postgres
/usr/lib/postgresql/9.3/bin/initdb -D /nfs/pgsql/

The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.

The database cluster will be initialized with locale "fr_FR.UTF-8".
The default database encoding has accordingly been set to "UTF8".
The default text search configuration will be set to "french".

Data page checksums are disabled.

initdb: could not access directory "/nfs/pgsql/": Permission non accordée

C'est claire que le souci vient des droits mais je ne comprends pas... Via le serveur je peux créer, supprimer, modifier, lire n'importe quoi sur le NFS donc je ne vois pas pourquoi initdb ne pourrais pas en faire autant...

Si vous avez un avis ou une solution je suis preneur !

Merci !

Hors ligne

#2 12/01/2015 18:12:17

remi02100
Membre

Re : initdb : could not access directory

C'est bon j'ai trouvé la solution tout seul comme un grand au bout de 2 jours, et comme toujours truc tout con...

Il fallait que le répertoire sur lequel est monté le nfs (ici /nfs) soit en 755 root root (je ne sais pas pourquoi il ne l'était pas), et que le répertoire /pgsql soit en 700 postgres postgres

Voilà ! J'espère que ça aidera d'autres personnes un jour !

Merci quand même !

Hors ligne

#3 12/01/2015 20:21:02

gleu
Administrateur

Re : initdb : could not access directory

J'espère que ça n'aidera jamais personne. C'est une terriblement mauvaise idée de mettre un répertoire de données PostgreSQL sur un montage NFS :

Many installations create database clusters on network file systems. Sometimes this is done directly via NFS, or by using a Network Attached Storage (NAS) device that uses NFS internally. PostgreSQL does nothing special for NFS file systems, meaning it assumes NFS behaves exactly like locally-connected drives (DAS, Direct Attached Storage). If client and server NFS implementations have non-standard semantics, this can cause reliability problems (see http://www.time-travellers.org/shane/pa … mful.html). Specifically, delayed (asynchronous) writes to the NFS server can cause reliability problems; if possible, mount NFS file systems synchronously (without caching) to avoid this. Also, soft-mounting NFS is not recommended. (Storage Area Networks (SAN) use a low-level communication protocol rather than NFS.)

D'après http://www.postgresql.org/docs/9.4/stat … LUSTER-NFS.


Guillaume.

Hors ligne

Pied de page des forums