PostgreSQL e propriedade de cluster de banco de dados em armazenamento compartilhado

1

Para minha pesquisa, estou usando uma máquina virtual sempre ativa para a análise primária dos meus dados. Ao fazer isso, preciso (ou, suponho, gostaria de) criar e armazenar os dados em um banco de dados PostgreSQL. A VM está executando o CentOS 7, e meu login (nós o chamaremos de ' username ') tem acesso root. O problema:

Os dados devem ser armazenados em armazenamento compartilhado montado no local /shared/username/data . Eu (' username ') sou o proprietário do diretório /shared/username/ e de todos os subdiretórios, e (por motivos de segurança?) Parece que isso não pode ser alterado via chown ou sudo chown . Isso significa que não posso iniciar o banco de dados como o usuário postgres , pois ele precisa da propriedade do /shared/username/data . Veja abaixo.

Conectado como postgres :

bash-4.2$ /usr/pgsql-9.4/bin/initdb -D /shared/username/data
could not change directory to "/shared/username": Permission denied
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 "en_US.UTF-8".
The default database encoding has accordingly been set to "UTF8".
The default text search configuration will be set to "english".

Data page checksums are disabled.

initdb: could not access directory "/shared/username/data": Permission denied

Eu sou novo no PostgreSQL, mas tenho usado várias formas de Linux há algum tempo. Embora as permissões de arquivo às vezes me confundam.

Existe uma solução possível para este problema? Talvez de alguma forma impedir que o initdb revogue as permissões de acesso para username ? Qualquer ajuda é apreciada, e eu estou feliz em fornecer qualquer informação adicional.

    
por James 19.07.2015 / 19:34

0 respostas