(SOLUCIONADO) Migración mapuche tabla DH01

Estimados, les hago otra consulta, estoy migrando la tabla dh01 de mapuche, configuro todos los archivos como en la migración de pilaga y cuando ejecuto el archivo migra.php, me da el siguiente error:


05-10-2015 17:46:48: COMENZANDO A SINCRONIZAR - METODO completo


PHP Warning: pg_query(): Query failed: ERROR: no se pudo abrir el archivo «/home/pas/Escritorio/dia_migracion/migra_mapuche/dump/dh01.txt» para escritura: No existe el fichero o el directorio in /home/pas/Escritorio/dia_migracion/migra_mapuche/migra.php on line 142
ERROR AL HACER EL DUMP DE LA TABLA dh01!!!
PROCESO DETENIDO POR ERRORES…
El usuario postgres tiene permiso de escritura en el directorio dump. Espero puedan ayudarme.

Saludos Fernando Araya.

Que tal Fernando, perfecto continuemos acá este error y doy por solucionado el post anterior.

Al parecer, el usuario de la base de datos (el que ejecuta la consulta SQL particularmente) no puede escribir/generar el archivo en esa ruta. Por favor, volver a probar con una ruta alternativa como el /tmp

Saludos!

especificamente seria crear el directorio dump en tmp, es decir el directorio sería /tmp/dump?

Saludos Fernando.

Lo probe, creando el dir dump en /tmp y luego modificando la variable dir_dump del archivo config.ini…pero me sigue saliendo el mismo error.

Saludos Fernando.

Fernando, hay que tener en cuenta como se crea el directorio (aunque para una simple prueba no hace falta crearlo, /tmp todos tienen acceso). Se puede modificar los permisos con chmod:


chmod 777 /tmp/dump

Para ver los permisos actuales, con el comando ls:


ls -lh /tmp/dump

Hola Sergio, los permisos que tengo son los siguientes:

-rw-r–r-- 1 root root 2,2K oct 7 14:13 config.ini
drwxr-xr-x 2 root root 4,0K oct 7 14:13 dump
-rw-r–r-- 1 root root 12K oct 7 14:13 migra.php

Saludos Fernando.

Fernando, según lo que me mostras, solo root puede escribir en el directorio dump. Este es la causa que desde SQL no se pueda escribir el archivo puesto que la base de datos utiliza el usuario postgres. Hay que cambiarlo para que otros usuarios puedan escribir en ese directorio (esto es gestión de permisos bajo Linux). Con un chmod 777 /tmp/dump podrías solucionarlo… (cuidado que si es mal ejecutado te deja tu sistema en un estado inconsistente).

Espero haber sido de ayuda. Saludos.

Hola sergio, probe modificando los permisos

-rw-r–r-- 1 root root 2161 oct 7 19:09 config.ini
drwxrwxr-x 2 postgres postgres 4096 oct 7 14:13 dump
-rwxrwxr-x 1 postgres postgres 11283 oct 7 14:13 migra.php

y sigue dando el mismo error. A parte de esto probe ejecutar el migra php como postgres y no como root, y da los mismos resultados.

Saludos Fernando.

PHP Warning: pg_query(): Query failed: ERROR: no se pudo abrir el archivo «/home/pas/Escritorio/dia_migracion/migra_mapuche/dump/dh01.txt» para escritura: No existe el fichero o el directorio

Este es un problema de generación del archivo txt, por acceso o permisos o similar, el SQL no puede generar dicho archivo. No hay nada que indique que el script tenga inconvenientes (si es que uds no lo modificaron claro). Tampoco es que sea una operación compleja, pues se trata de hacer un COPY TO.

Saludos!