Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

Error para crear mi Backup

Estas en el tema de Error para crear mi Backup en el foro de PostgreSQL en Foros del Web. Hola foreros llevo un tiempo intentando crear mi backup desde PHP ...uso el postgres 8.2 y appserv n Win XP y este es mi codigo ...
  #1 (permalink)  
Antiguo 08/05/2009, 15:15
Avatar de Enishy  
Fecha de Ingreso: septiembre-2007
Mensajes: 121
Antigüedad: 17 años, 3 meses
Puntos: 1
Error para crear mi Backup

Hola foreros llevo un tiempo intentando crear mi backup desde PHP ...uso el postgres 8.2 y appserv n Win XP y este es mi codigo para hacer el backup

Código PHP:
include "seguridad.php";
include 
"conexion.php";

$fileNamePgsqlDump "Copia_de_Seguridad";//nombre del fichero sql

$fileNamePgsqlDump date("Y-d-m")."-".$fileNamePgsqlDump.".backup";//añado la fecha al nombre del fichero

$sysOperative = (stristr(PHP_OS'WIN')) ? "Windows" "Linux";//compruebo el sistema operativo del servidor

switch ($sysOperative){//creo el selector de sistema operativo
    
case 'Windows'://servidores pgsql montados en maquinas windows
        
$PgsqlDump "c:\archivos de programa\postgresql\8.2\bin\pg_dump.exe -i -h localhost -p 5432 -U postgres -F c -b -v -f 'C:..\..\backup\$fileNamePgsqlDump' dbmuseo";//ejecuto el backup
        
system($PgsqlDump$resultPgsqlDump);
    break;
    case 
'Linux'://servidores mysql montados en maquinas linux
        
$PgsqlDump "mysqldump -u $sql_usuario --password=$sql_pass --opt $sql_db > $ruta.$fileNameMySqlDump.sql";//ejecuto el backup
        
system($PgsqlDump$resultPgsqlDump);
    break;
    default:
        echo 
"Error 7000: Se produjo error por no ser un sistema compatible con Windows - Unix - Linux.";//si el sistema operativo no existe o no esta definido, error
      
exit;
    break;
}
//termino switch

if($resultPgsqlDump) {
    echo 
"<H1>Error ejecutando comando: $fileNamePgsqlDump</H1>\n";//compruebo errores
}else{
    echo 
"<H1>Hecho: $fileNamePgsqlDump</H1>\n";

  #2 (permalink)  
Antiguo 08/05/2009, 15:58
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 10 meses
Puntos: 360
Respuesta: Error para crear mi Backup

que tal enishy

Tu problema está a la hora de ejecutar el comando pg_dump.
En windows no puedes ejecutar un comando así, no cumple la misma teoría de un entorno unix.

Lo primero que debes hacer es configurar tus variables de entorno en windows para que se reconozcan los comandos de postgres (como el pg_dump) desde cualquier ruta del prompt de windows.

Sigue los pasos de este manual
http://www3.uji.es/~isanz/PG/#req

y posteriormente, modifica tu codigo quitando toda la ruta del comando pg_dump.

Espero te sirva.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 08/05/2009, 16:46
Avatar de Enishy  
Fecha de Ingreso: septiembre-2007
Mensajes: 121
Antigüedad: 17 años, 3 meses
Puntos: 1
Respuesta: Error para crear mi Backup

hola gracias por contestar tan rapido amigo huesos52

Te cuento que aun me sale el error ya cree las variables de entorno pero el paso
Cita:
3.- Añade a la variable de entorno PATH la cadena ;%PGHOME%\bin
no o e podido hacer pues mi PATH que maneja mi maquina es diferente es asi
Cita:
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\Sy stem32\Wbem
Bueno no se si sera eso por otro lado cambie la liea de mi codigo con el llamado al pg_dump

Código PHP:
$PgsqlDump "pg_dump.exe -i -h localhost -p 5432 -U postgres -F c -b -v -f '../../backup/$fileNamePgsqlDump' dbmuseo"
  #4 (permalink)  
Antiguo 09/05/2009, 07:18
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 10 meses
Puntos: 360
Respuesta: Error para crear mi Backup

Recuerda que las variables las debes incluir en las variables de entorno del sistema.

haz la prueba desde windows. abre una consola y digita un comando de postgres desde cualquier ruta... si esto te funciona ya nos concentramos en la sentencia del pg-dump.
Sino te funciona, no haz hecho bien el procedimiento.

Recuerda que PGHOME será la ruta donde están las carpetas data, bin etc.
recuerda ejecutar el initdb y cambia la ejecucución del pg_ctl start por pg_ctl restart.

Nos cuentas como te va.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming

Última edición por huesos52; 09/05/2009 a las 07:43
  #5 (permalink)  
Antiguo 09/05/2009, 09:22
Avatar de Enishy  
Fecha de Ingreso: septiembre-2007
Mensajes: 121
Antigüedad: 17 años, 3 meses
Puntos: 1
Respuesta: Error para crear mi Backup

Hola huesos acabo de leer tu respuesta, modifique mi varb entorno PGHOME pues me guie de la pag que me pediste que viera y la cree como decia alli y ahorala deje asi
Cita:
PGHOME=C:\Archivos de programa\PostgreSQL\8.2
Con esto que me comentas
Cita:
haz la prueba desde windows. abre una consola y digita un comando de postgres desde cualquier ruta...
bueno abri el Command Promt del Postgres (INICIO>>Todos los programas>>PostgreSQL 8.2>>Command promt) e intente hacer un pg_dump asi

pg_dump -h localhost -U postgres -d basededatos > basededatos.sql y si salio la copia

si te referias a abrir la ventana de simbolos de sistema de Win coloque

pg_dump y me salio error "pg_dump" no se reconoce como comando interno o externo, programa o archivo....

Bueno podrias ser mas detalloso pues soy nuevo en esto del postgres porfa, gracias por su tiempo
  #6 (permalink)  
Antiguo 09/05/2009, 09:32
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 10 meses
Puntos: 360
Respuesta: Error para crear mi Backup

Claro no hay problema.

Fijate en el manual. Cuando abres por panel de control- sistema- avanzado... te abre una ventana variables de entorno.
Fijate que está dividida en 2 secciones. La sección de abajo, dice variables del sistema.
Es en la parte de abajo, donde debes ingresar las variables.

Después, el PGHOME dale la ruta C:\Archivos de programa\PostgreSQL\8.2.
después ingresa ahí mismo estas:
PGDATA=%PGHOME%\data
PGLIB=%PGHOME%\lib

Después buscas la variable path. path es una variable ddel sistema que ya está creada y tiene contenido. Sobre path le das modificar y al final de la linea escribes ;%PGHOME%\bin.
De esta forma, los comandos existentes en la ruta bin, podrán ser accesados desde cualquier ruta de windows.

Cuando termines, vas a inicio-ejecutar y reinicias el servicio de postgres. Escribes pg_ctl restart.

La prueba de oro: vas a inicio-ejecutar y digitas cmd. esto te abre una consola de windows y desde ahí trata de hacer el backup.

Cuentanos como te va.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming

Última edición por huesos52; 09/05/2009 a las 09:44
  #7 (permalink)  
Antiguo 09/05/2009, 10:05
Avatar de Enishy  
Fecha de Ingreso: septiembre-2007
Mensajes: 121
Antigüedad: 17 años, 3 meses
Puntos: 1
Respuesta: Error para crear mi Backup

hola huesos52 abri la consola de win y intente hacer una copia asi

Cita:
pg_dump -h localhost -U postgres mibasedatos > copia.sql
hice enter se demoro un poco = cuando lo hice desde la ventana del postgres (Command Promt) pero no hay el archivo del backup
  #8 (permalink)  
Antiguo 09/05/2009, 10:10
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 10 meses
Puntos: 360
Respuesta: Error para crear mi Backup

revisa la ruta desde la cual ejecutaste el pg_dump y también revisa la carpeta bin de postgres.

Al parecer si lo hizo, pero estoy seguro donde lo ha guardado. Buscalo desde windows en caso de q no esté ni en la ruta desde la cual ejecutaste el dump, ni en bin, ni en data.

Un saludo.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #9 (permalink)  
Antiguo 09/05/2009, 10:40
Avatar de Enishy  
Fecha de Ingreso: septiembre-2007
Mensajes: 121
Antigüedad: 17 años, 3 meses
Puntos: 1
Respuesta: Error para crear mi Backup

hola huesos52 lo encontre...jajaja si encontre la copia no esta en ninguna de las carpetas que mensionaste ...lo encontre en Documents and Settings\max lo ideal es que pase a la carpeta bin pues note al hacer la 1º prueba desde el command promt del postgres que alli se guardaba cosa que no pasa con la ventana de comandos del Win pues checa esto que note

al abrir la ventana de comandos del win note que dice esto:

C:\Documents and Settings\max>_

y la del promt de postgres dice esto:

C:\Archivos de programa\PostgreSQL\8.2\bin>_

otra cosa que al cargar mi codigo PHP para hacer la copia pues se demora un montonnnnn y no pasa nada
  #10 (permalink)  
Antiguo 09/05/2009, 10:44
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 10 meses
Puntos: 360
Respuesta: Error para crear mi Backup

Enshy... Efectivamente se guardó en la carpeta donde ejecutaste el pg_dump.

El problema que mencionas, creo que tiene que ver con php, debe ser un tiempo limite de espera o algo. Considero que en dicho foro recibirás una mejor respuesta.

Espero haberte ayudado.

Un saludo.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #11 (permalink)  
Antiguo 09/05/2009, 10:53
Avatar de Enishy  
Fecha de Ingreso: septiembre-2007
Mensajes: 121
Antigüedad: 17 años, 3 meses
Puntos: 1
Respuesta: Error para crear mi Backup

Ah entiendo huesos52 si tienes razo ...gracias por tu ayuda y por contestar tan rapido... se agradece me fuiste de mucha ayuda... ya vere ese detalle del tiempo de porke no carga ...bye
  #12 (permalink)  
Antiguo 05/06/2009, 00:33
 
Fecha de Ingreso: abril-2009
Mensajes: 3
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Error para crear mi Backup

q tal amigos del foro he tratado de seguir los pasos para instalar postgres en windows segun el manual mencionado en www3.uji.es/~isanz/PG/#req pero no he podido descargar el fichero Zip que contiene PostgreSQ ya que no se puede conectar con ftp://209.61.187.152/postgres/postgres_beta4.zip , podrian decirme por favor d q otro lugar podria descargarlo??
es que necesitoq windows reconozca los comandos de postgres (como el pg_dump) desde cualquier ruta del prompt de windows. Muchas gracias de antemano por la ayuda
  #13 (permalink)  
Antiguo 05/06/2009, 05:22
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 10 meses
Puntos: 360
Respuesta: Error para crear mi Backup

Baja el postgres de la pagina oficial.
PostgreSQL

Posterior a la instalación, sigue los pasos de la configuración de las variables de entorno. Cualquier duda, posteala.

Bienvenido al foro.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #14 (permalink)  
Antiguo 08/06/2009, 19:16
 
Fecha de Ingreso: abril-2009
Mensajes: 3
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Error para crear mi Backup

q tal ...lo siento no puede responder antes..
Bueno pues lamentablemente no pude realizar la instalacion, el archivo q baje fue postgresql-8.4-beta1.zip el cual contenia esto:postgresql-8.4-beta1.msi, postgresql-8.4-beta1-int.msi, SETUP.bat, UPGRADE.bat, vcredist_x86.exe. y no puedo ejecutar los comandos * initdb
* post_svc -install
* pg_ctl start
Entonces baje el archivo correcto..?
lo q si se pudo es poder sacar un backup desde la interfaz de mi sistema, la ayuda lo saque de phpclasses.org
gracias por la ayuda.
  #15 (permalink)  
Antiguo 08/06/2009, 23:01
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 10 meses
Puntos: 360
Respuesta: Error para crear mi Backup

Instala normal el postgres.
Del manual, omite el initdb y el pg_ctl y el post_svc install.

Primero asegurate que el servicio esté corriendo. Despues configuras las variables.

Un saludo
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:35.