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

[SOLUCIONADO] Error al importar una base de datos

Estas en el tema de Error al importar una base de datos en el foro de PostgreSQL en Foros del Web. Hola de nuevo: Ahora que ya casi tengo terminado mi proyecto, hecho en mi ordenador con Linux, llega la hora de pasarlo a un ordenador ...
  #1 (permalink)  
Antiguo 02/09/2015, 12:41
 
Fecha de Ingreso: septiembre-2010
Mensajes: 494
Antigüedad: 13 años, 7 meses
Puntos: 10
Error al importar una base de datos

Hola de nuevo:

Ahora que ya casi tengo terminado mi proyecto, hecho en mi ordenador con Linux, llega la hora de pasarlo a un ordenador con Windows a ver qué tal va.

Así que exporto la base de datos con la forma:
Código SQL:
Ver original
  1. pg_dump -U david CRCC > micrcc.SQL

Me llevo el archivo generado al ordenador con windows y hago lo siguiente:

Creo una base de datos llamada CRCC.
Y luego ejecuto la orden:

Código SQL:
Ver original
  1. psql -U crcc -d CRCC -h localhost <\ruta\micrcc.SQL

Pero me empiza a arrojar una serie de errores entre los que destaca por la cantidad este:
orden \N no válida

Y algunos otros son:
no existe la relaciA³n «.....
y de error de sintaxis en o cerca de (otro nombre mal codificado)

Y bueno, he leído un poco y parece que los tiros van sobre la codificación.

Pero ahora miro los datos de la BBDD orígen y son (pongo las diferencias):
Código SQL:
Ver original
  1. Origen                Destino
  2. Propietario:             david                 crcc
  3. Colacion:             es_ES.UTF-8      Spanish_Spain.1252
  4. Tipo caracter:        es_ES.UTF-8      Spanish_Spain.1252

Creo que no hay mas diferencias.
El problema (si es que tiene que ver con eso) es que en el ordenador destino sólo me da a elegir entre C, POSIX o Spanish_Spain.1252.


Bueno, pues esta es mi duda. Algo exporta, pero se pierden tablas y no sé si las que están tendrán todos los datos o no.

Gracias como siempre.
__________________
Mi calculadora en Qt
  #2 (permalink)  
Antiguo 03/09/2015, 03:49
 
Fecha de Ingreso: septiembre-2010
Mensajes: 494
Antigüedad: 13 años, 7 meses
Puntos: 10
Respuesta: Error al importar una base de datos

Bueno, tema arreglado.
El problema es que es una base de datos con extensión PostGIS (si algún moderador quiere editar al título para aclararlo....)

Esto es lo que he hecho:

Código SQL:
Ver original
  1. pg_dump --no-acl --no-owner CRCC > dump.sql

Donde:
CRCC es mi Base de datos PostGIS
--no-acl : ignora acceso de control
--no-owner: ignora al propietario actual de la BBDD

Ahora en el ordenador destino hay que crear una BBDD nueva con extensión PostGIS.
Por comodidad he creado la base de datos desde pgAdmin III con los datos
base de datos = CRCC
usuario = crcc

Luego, desde el cliente psql añado las extensiones PostGIS a la BBDD:

Código SQL:
Ver original
  1. psql -U postgres -W -d CRCC -c "CREATE EXTENSION postgis;"
y
Código SQL:
Ver original
  1. psql -U postgres -W -d CRCC -c "CREATE EXTENSION postgis_topology;"

Donde:
-U postgres: uso el superuser postgres para poder crear extensiones
-W para la contraseña (creo que no es necesario, pero...)
-d CRCC: la BBDD a la que añadiré las extensiones
-c "extensiones": las extensiones PostGIS a añadir

Y por último ya puedo restaurar los datos:
Código SQL:
Ver original
  1. psql --host=127.0.0.1 --username=crcc -d CRCC <ruta\dump.sql

Y ya está. A mi al menos me ha funcionado así

Fuentes:
http://codeinthehole.com/writing/dum...tgis-database/

http://postgis.net/docs/postgis_inst..._db_extensions
(en especial punto 2.6)
__________________
Mi calculadora en Qt

Etiquetas: tabla
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 17:47.