2016-09-01 5 views
0

Я пытаюсь восстановить базу данных в PostgreSQL Docker контейнере с использованием pg_restore из shellscript ТАГТ будет вызываться из Докер файла .Я получаю следующее сообщение об ошибке «ОШИБКА: отмена автовакуумной задачу КОНТЕКСТ: автоматический анализ таблицы 'tablename' ".pg_restore в Postgres докер контейнер

DockerFile:

FROM postgres:9.3 
    ENV POSTGRES_USER postgres 
    ENV POSTGRES_PASSWORD Abcd1234 
    ENV POSTGRES_DB Clarion1 
    COPY DB.backup /var/lib/postgresql/backup/DB.backup 
    COPY initialize.sh /docker-entrypoint-initdb.d/initialize.sh 

initialize.sh

#!/bin/bash 
    set -e 
    set -x 

    echo "******PostgreSQL initialisation******" 
    pg_restore -C -d DB /var/lib/postgresql/backup/DB.backup 

Вход:

server started 
    CREATE DATABASE 
    /docker-entrypoint.sh: running /docker-entrypoint-initdb.d/initialize.sh 
    ++ echo '******PostgreSQL initialisation******' 
    ++ pg_restore -C -d Clarion1 /var/lib/postgresql/backup/Clarion53.backup 
    ******PostgreSQL initialisation****** 
    ERROR: canceling autovacuum task 

Б ut, если я пытаюсь восстановить БД из командной строки на хост-машине из того же файла резервной копии, он работает нормально.

+0

Я думаю, вам, вероятно, придется дождаться завершения полной инициализации базы данных до запуска восстановления. – dnephin

ответ

1

Я не думаю, что восстановление резервной копии может быть выполнено на этапе инициализации. Запустите контейнер, а затем загрузите db.

Смежные вопросы