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

Restaurando Base de datos

Estas en el tema de Restaurando Base de datos en el foro de PostgreSQL en Foros del Web. Buenas noches. Acabo de restaurar una base de datos, y esto es parte del codigo que me retorna: Código: pg_restore: [archivador (bd)] Error durante PROCESAMIENTO ...
  #1 (permalink)  
Antiguo 11/07/2010, 18:28
Avatar de chicohot20  
Fecha de Ingreso: mayo-2009
Mensajes: 388
Antigüedad: 15 años, 6 meses
Puntos: 43
Restaurando Base de datos

Buenas noches.
Acabo de restaurar una base de datos, y esto es parte del codigo que me retorna:
Código:
pg_restore: [archivador (bd)] Error durante PROCESAMIENTO DE TABLA DE CONTENIDOS:
pg_restore: [archivador (bd)] Error en entrada de la tabla de contenidos 685; 2612 16386 PROCEDURAL LANGUAGE plpgsql postgres
pg_restore: [archivador (bd)] could not execute query: ERROR:  language "plpgsql" already exists
    Command was: CREATE PROCEDURAL LANGUAGE plpgsql;
pg_restore: creando SHELL TYPE cube
pg_restore: [archivador (bd)] Error en entrada de la tabla de contenidos 497; 0 0 SHELL TYPE cube postgres
pg_restore: [archivador (bd)] could not execute query: ERROR:  type "cube" already exists
    Command was: CREATE TYPE cube;
pg_restore: creando FUNCTION cube_in(cstring)
pg_restore: [archivador (bd)] Error en entrada de la tabla de contenidos 27; 1255 16404 FUNCTION cube_in(cstring) postgres
pg_restore: [archivador (bd)] could not execute query: ERROR:  function "cube_in" already exists with same argument types
    Command was: CREATE FUNCTION cube_in(cstring) RETURNS cube
    AS '$libdir/cube', 'cube_in'
    LANGUAGE c IMMUTABLE STRICT;
pg_restore: creando FUNCTION cube_out(cube)
pg_restore: [archivador (bd)] Error en entrada de la tabla de contenidos 30; 1255 16407 FUNCTION cube_out(cube) postgres
pg_restore: [archivador (bd)] could not execute query: ERROR:  function "cube_out" already exists with same argument types
    Command was: CREATE FUNCTION cube_out(cube) RETURNS cstring
    AS '$libdir/cube', 'cube_out'
    LANGUAGE c IMMUTABLE STRICT;

...........
PRECAUCIÓN: errores ignorados durante la recuperación: 65

Process returned exit code 1.
He instalado la misma version de base de datos, los mismos usuarios, todo igual, por que me retorna estos errores que no tienen nada que ver con mi datos?
  #2 (permalink)  
Antiguo 12/07/2010, 01:58
Avatar de xdrtas  
Fecha de Ingreso: junio-2008
Ubicación: Venezuela
Mensajes: 97
Antigüedad: 16 años, 6 meses
Puntos: 13
Respuesta: Restaurando Base de datos

Hola chicohot20.
Cita:
Iniciado por chicohot20 Ver Mensaje
Buenas noches.
Acabo de restaurar una base de datos, y esto es parte del codigo que me retorna:
Código:
pg_restore: [archivador (bd)] Error durante PROCESAMIENTO DE TABLA DE CONTENIDOS:
pg_restore: [archivador (bd)] Error en entrada de la tabla de contenidos 685; 2612 16386 PROCEDURAL LANGUAGE plpgsql postgres
pg_restore: [archivador (bd)] could not execute query: ERROR:  language "plpgsql" already exists
    Command was: CREATE PROCEDURAL LANGUAGE plpgsql;
pg_restore: creando SHELL TYPE cube
pg_restore: [archivador (bd)] Error en entrada de la tabla de contenidos 497; 0 0 SHELL TYPE cube postgres
pg_restore: [archivador (bd)] could not execute query: ERROR:  type "cube" already exists
    Command was: CREATE TYPE cube;
pg_restore: creando FUNCTION cube_in(cstring)
pg_restore: [archivador (bd)] Error en entrada de la tabla de contenidos 27; 1255 16404 FUNCTION cube_in(cstring) postgres
pg_restore: [archivador (bd)] could not execute query: ERROR:  function "cube_in" already exists with same argument types
    Command was: CREATE FUNCTION cube_in(cstring) RETURNS cube
    AS '$libdir/cube', 'cube_in'
    LANGUAGE c IMMUTABLE STRICT;
pg_restore: creando FUNCTION cube_out(cube)
pg_restore: [archivador (bd)] Error en entrada de la tabla de contenidos 30; 1255 16407 FUNCTION cube_out(cube) postgres
pg_restore: [archivador (bd)] could not execute query: ERROR:  function "cube_out" already exists with same argument types
    Command was: CREATE FUNCTION cube_out(cube) RETURNS cstring
    AS '$libdir/cube', 'cube_out'
    LANGUAGE c IMMUTABLE STRICT;

...........
PRECAUCIÓN: errores ignorados durante la recuperación: 65

Process returned exit code 1.
He instalado la misma version de base de datos, los mismos usuarios, todo igual, por que me retorna estos errores que no tienen nada que ver con mi datos?
Es debido a que cuando hiciste el backup de tu base de datos, se guardaron también las consultas para restaurar el lenguaje plpgsql y las funciones cube, cube_in y cube_out, en otras palabras, en tu base de datos ya existen las funciones antes mencionadas y el lenguaje plpgsql ya está instalado.

El mismo error te lo especifica: ERROR: function "cube_in" already exists with same argument types. La traducción de esto es: la función "cube_in" ya existe con el mismo tipo de argumento.

Lo que tienes que hacer es comentar las líneas donde aparezcan CREATE LANGUAGE plpgsql y CREATE FUNCTION cube, cube_in, cube_out, en el archivo de backup. OJO, comentar no eliminar, porque a la final uno nunca sabe.
También puedes hacer una copia del archivo backup de tu base de datos, eliminando en la copia, esas líneas de código y manteniendo el archivo original backup intacto.

Espero que te haya aclarado la duda y lo puedas resolver.

Un cordial saludo.
__________________
¿Cuál es el mejor lenguaje para programar?
Aquel lenguaje por el cual te paguen más.
[--::xdrtas.coolpage.biz::--]
[---:::xdrtas:::---]
  #3 (permalink)  
Antiguo 12/07/2010, 08:45
Avatar de chicohot20  
Fecha de Ingreso: mayo-2009
Mensajes: 388
Antigüedad: 15 años, 6 meses
Puntos: 43
Respuesta: Restaurando Base de datos

No encontre nada de CREATE LANGUAGE plpgsql y CREATE FUNCTION cube, cube_in, cube_out, en mi backup. Este problema me ocurre en windows 7 en el XP me retornaba sin errores: Process returned exit code 0, esto significa que el backup se hizo correctamente verdad?
  #4 (permalink)  
Antiguo 12/07/2010, 09:07
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: Restaurando Base de datos

Chicohot20 yo estoy deacuerdo con xdrtas.
En un principio era muy paranoico en que mis restauraciones fueran erroneas al mostrarme este mensaje "PRECAUCIÓN: errores ignorados durante la recuperación: 65"

Pero esto se debe a que el backup trata de construir escenarios con los que ya cuenta la base de datos y que no genera ningún problemas. Puedes revisar el log o revisar cada error ignorado y asegurate que no tenga incongruencias con información tuya y que realmente requieras.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #5 (permalink)  
Antiguo 12/07/2010, 10:14
Avatar de chicohot20  
Fecha de Ingreso: mayo-2009
Mensajes: 388
Antigüedad: 15 años, 6 meses
Puntos: 43
Respuesta: Restaurando Base de datos

quieren decir que debo ignorar estos errores, que no tienen nada que ver con mi información?

Una ultima consulta: Puedo hacer un backup de una base de datos de una version postgre anterior en una version posterior o reciente?

Gracias muchachos!
  #6 (permalink)  
Antiguo 12/07/2010, 10:33
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: Restaurando Base de datos

Si es posible. Cuando hagas el pg_restore es necesario poner la opción -i --ignore version

slaudos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #7 (permalink)  
Antiguo 12/07/2010, 10:49
Avatar de chicohot20  
Fecha de Ingreso: mayo-2009
Mensajes: 388
Antigüedad: 15 años, 6 meses
Puntos: 43
Respuesta: Restaurando Base de datos

quieren decir que debo ignorar estos errores, que no tienen nada que ver con mi información? me gustaría que me retorne Process returned exit code 0 para tener mayor confianza y seguridad.

Etiquetas: Ninguno
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 06:43.