odoo12 резервное копирование базы данных нет владельца? - PullRequest
0 голосов
/ 31 декабря 2018

Я не могу сделать резервную копию базы данных odoo 12, я использую Postgres 10 и Docker Containers.error:

Database backup error: Postgres subprocess ('/usr/bin/pg_dump', '--no-owner', '--file=/tmp/tmpgoyjsd3i/dump.sql', 'odoo') error 1

1 Ответ

0 голосов
/ 01 января 2019

Эта ошибка возникает, если у вас другая версия клиента Postgresql (версия на сервере Odoo) и сервера (версия на сервере базы данных).Если вы используете "официальный" образ Docker Odoo или изображение на его основе, например, образ veivaa / odoo, он основан на версии debian: stretch и имеет Postgresql версию 9.6 в качестве клиента по умолчанию.При такой настройке у вас будет несоответствие: клиент v9.6 подключается к серверу v10.Это приведет к ошибке, которую вы получаете.

Чтобы решить эту проблему, вы должны установить ту же версию на клиенте и сервере.Вы можете либо понизить свой сервер Postgres до 9.6, либо обновить клиент Postgres в контейнере Odoo Docker до 10. Вы можете проверить это, выполнив обновление клиента вручную.docker exec -ti -u 0 yourodoocontainername bash к контейнеру Odoo и выполнение этих команд внутри контейнера Odoo:

apt-get update
echo 'deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main' >  /etc/apt/sources.list.d/pgdg.list
yes Y | apt-get install wget
yes Y | apt-get install gnupg
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -
apt-get update
yes Y | apt-get install postgresql-client-10

Для запуска этих программ вам необходимо иметь root-права в контейнере.После этой установки вы можете выйти из exec и перезапустить свой контейнер с помощью docker restart yourodoocontainername.Убедитесь, что у вас есть постоянное хранилище, используемое для данных Odoo, чтобы вы не потеряли свое хранилище файлов.После этих шагов вы сможете выполнять резервное копирование и восстановление с помощью веб-интерфейса Odoo.

Вы можете проверить версию клиента Postgresql с помощью команды psql --version.Ожидаемый результат для версии 9.6 - psql (PostgreSQL) 9.6.10, а для версии 10 psql (PostgreSQL) 10.6 (Debian 10.6-1.pgdg90+1).

Метод exec хорош для тестирования, но не годится для постоянного использования, поскольку включает ручные действия.Вам следует создавать образы Docker с правильной версией, изменяя свой Dockerfile.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...