Qué tal foro.
Pues saludando y felicitando a toda la comunidad por el gran trabajo que realizan.
Y bueno espero me puedan auxiliar. Necesito reubicar mi base de datos postgres 9.2 en Fedora 19.
La situación es que mi partición de root tiene poco espacio como para contener la DB, mi intención es reubicar el directorio "data" en mi perfil en la partición /home.
Hasta ahorita he creado un nuevo directorio en /home llamada "postgres" y he cambiado los permisos y propietario para el usuario postgres
Código:
$ sudo mkdir /home/elaguna/postgres
$ sudo chown -R postgres:postgres postgres
$ sudo chmod 777 -R postgres
Copié todo el contenido de la ubicación actual a mi nuevo directorio y verifico el contenido y permisos
Código:
$ sudo cp -r /var/lib/pgsql postgres
$ sudo ls -l postgres/pgsql
drwxrwxrwx. 2 postgres postgres 4096 oct 17 11:03 backups
drwxrwxrwx. 15 postgres postgres 4096 oct 17 11:03 data
-rwxrwxrwx. 1 postgres postgres 1575 oct 17 11:05 initdb.log
En el archivo postgresql.conf pongo la ruta de mi nueva ubicación
Código:
data_directory = '/home/elaguna/postgres/pgsql/data'
Hasta ahí se supone que todo va bien. ahora trato de reiniciar el servicio y ... nada!!!
Código:
$ sudo systemctl restart postgresql.service
Job for postgresql.service failed. See 'systemctl status postgresql.service' and 'journalctl -xn' for details.
Reviso el status del servicio postgresql.service
Código:
$ sudo systemctl status postgresql.service
oct 17 11:08:58 localhost.localdomain systemd[1]: Starting PostgreSQL database server...
oct 17 11:08:58 localhost.localdomain pg_ctl[9098]: FATAL: no se pudo obtener los permisos del directorio /home/elaguna/postgres/pgsql/data Acceso denegado
Hago otra prueba ahora con el usuario postgres tratando de crear un directorio nuevo en donde se supone que es propietario y tiene privilegios
Código:
$ su postgres -c "mkdir postgres/pgsql/test"
mkdir: no se puede crear el directorio «postgres/pgsql/test»: Permiso denegado
Supongo que el problema de no poder iniciar el servicio de postgres es debido a que no puede modificar la nueva ubicación, pero al consultar los privilegios me muestra
Código:
$ sudo ls -l postgres/pgsql
drwxrwxrwx. 2 postgres postgres 4096 oct 17 11:03 backups
drwxrwxrwx. 15 postgres postgres 4096 oct 17 11:03 data
-rwxrwxrwx. 1 postgres postgres 1575 oct 17 11:05 initdb.log
que se supone me indica que el usuario postgres puede hacer todo, pero no es así
Ahora bien, recuerdo que actualmente en Fedora se utiliza SELinux, entonces consulto:
Código:
$ sudo ls -Z postgres
drwxrwxrwx. postgres postgres unconfined_u:object_r:postgresql_db_t:s0 pgsql
Si se supone que postgres puede hacer todo en la nueva ubicación mi pregunta es: ¿Qué me está haciendo falta para cambiar la ubicación de la DB a mi nuevo directorio?
De antemano gracias por la ayuda que me puedan brindar.
Saludos