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.

Responder a