Buen día.
Tenemos una serie de tiendas, cada una con su base de datos, y además un
del corporativo donde se encuentra toda la información unificada, y
cuando creamos una sucursal nueva hay que hacer una base de datos para
esta nueva tienda, o cuando se pierde una máquina de tienda o se la
roban debemos generar de nuevo la db a partir de la información que se
encuentra en el corporativo.
Es por eso que se está haciendo un script, para generar dichas dbs.
echo Se obtiene el esquema...
pg_dump -U dba -h $HOST -C -Fc -s -Z $NCOM modelorama --no-tablespaces >
/tmp/estructura_modelorama.backup
echo Creando Esquema en la maquina Objetivo...
pg_restore --no-tablespaces -i -C -s -h $HOSTDESTINO -U dba -d postgres
/tmp/estructura_modelorama.backup
echo Creando Esquema de migracion en la maquina objetivo...
Sin embargo cuando corro el script e intenta crear la nueva estructura
marca un error:
[root@stvz Codigo]# ./genera_base_tienda_v6 23 10.10.50.126
Se obtiene el esquema...
Se obtiene esquema para migracion...
Creando Esquema en la maquina Objetivo...
pg_restore: [archivador (bd)] Error durante PROCESAMIENTO DE TABLA DE
CONTENIDOS:
pg_restore: [archivador (bd)] Error en entrada de la tabla de contenidos
3582; 1262 27687 DATABASE modelorama dba
pg_restore: [archivador (bd)] could not execute query: ERROR:
tablespace "db_space" does not exist
Command was: CREATE DATABASE modelorama WITH TEMPLATE = template0
ENCODING = 'UTF8' LC_COLLATE = 'es_ES.UTF-8' LC_CTYPE = 'es_ES.UTF-8' T...
pg_restore: [archivador (bd)] could not execute query: ERROR: database
"modelorama" does not exist
Command was: ALTER DATABASE modelorama OWNER TO dba;
y no entiendo, supuestamente con la opción --no-tablespaces evito que se
tome en cuenta el nombre del tablaspace para crear la db.
Tal vez lo estoy haciendo de forma incorrecta. Espero y me orienten.
Saludos.