PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

odoo12 Datenbanksicherung kein Besitzer?

Dieser Fehler tritt auf, wenn Sie eine andere Version von Postgresql-Client (die Version auf dem Odoo-Server) und Server (die Version auf Ihrem Datenbankserver) haben. Wenn Sie das „offizielle“ Docker-Image von Odoo oder ein darauf basierendes Image verwenden, z. veivaa/odoo-Image, es basiert auf der debian:stretch-Version und hat Postgresql-Version 9.6 als Standard-Client. Bei diesem Setup kommt es zu einer Diskrepanz:Client v9.6 verbindet sich mit Server v10. Dies führt zu dem Fehler, den Sie erhalten.

Um dies zu lösen, müssen Sie dieselbe Version auf Client und Server installieren. Sie können entweder Ihren Postgres-Server auf 9.6 herunterstufen oder den Postgres-Client in Ihrem Odoo-Docker-Container auf 10 aktualisieren. Sie können dies testen, indem Sie das Client-Upgrade manuell durchführen. docker exec -ti -u 0 yourodoocontainername bash zum Odoo-Container und Ausführen dieser Befehle im Odoo-Container:

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

Sie müssen über Root-Berechtigungen im Container verfügen, um diese auszuführen. Nach dieser Installation können Sie exec beenden und Ihren Container mit docker restart yourodoocontainername neu starten . Stellen Sie sicher, dass Sie einen dauerhaften Speicher für Odoo-Daten haben, damit Sie Ihren Dateispeicher nicht verlieren. Nach diesen Schritten können Sie Backups und Wiederherstellungen mit der Odoo-Weboberfläche durchführen.

Sie können Ihre Postgresql-Client-Version mit psql --version überprüfen Befehl. Das erwartete Ergebnis mit Version 9.6 ist psql (PostgreSQL) 9.6.10 und mit Version 10 psql (PostgreSQL) 10.6 (Debian 10.6-1.pgdg90+1) .

Die exec-Methode eignet sich gut zum Testen, aber nicht für den dauerhaften Einsatz, da sie manuelle Schritte beinhaltet. Sie sollten Ihre Docker-Images mit der richtigen Version erstellen, indem Sie Ihr Dockerfile ändern.