PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

kopia zapasowa bazy danych odoo12 brak właściciela?

Ten błąd występuje, jeśli masz inną wersję klienta Postgresql (wersja na serwerze Odoo) i serwera (wersja na serwerze Twojej bazy danych). Jeśli używasz „oficjalnego” obrazu Dockera Odoo lub opartego na nim obrazu, np. obraz veivaa/odoo, jest oparty na wersji debian:stretch i ma Postgresql w wersji 9.6 jako domyślny klient. Przy tej konfiguracji będziesz mieć niezgodność:klient v9.6 łączy się z serwerem v10. Spowoduje to otrzymany błąd.

Aby rozwiązać ten problem, musisz zainstalować tę samą wersję na kliencie i serwerze. Możesz albo obniżyć swój serwer Postgres do 9.6, albo zaktualizować klienta Postgres w swoim kontenerze Odoo Docker do 10. Możesz to przetestować, ręcznie aktualizując klienta. docker exec -ti -u 0 yourodoocontainername bash do kontenera Odoo i wykonanie tych poleceń wewnątrz kontenera 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

Aby je uruchomić, musisz mieć uprawnienia administratora w kontenerze. Po tej instalacji możesz wyjść z exec i ponownie uruchomić kontener za pomocą docker restart yourodoocontainername . Upewnij się, że masz trwałe miejsce do przechowywania danych Odoo, aby nie stracić magazynu plików. Po wykonaniu tych kroków możesz wykonywać kopie zapasowe i przywracanie za pomocą interfejsu internetowego Odoo.

Możesz sprawdzić wersję swojego klienta Postgresql za pomocą psql --version Komenda. Oczekiwany wynik w wersji 9.6 to psql (PostgreSQL) 9.6.10 oraz z wersją 10 psql (PostgreSQL) 10.6 (Debian 10.6-1.pgdg90+1) .

Metoda exec jest dobra do testowania, ale nie nadaje się do stałego użytku, ponieważ obejmuje czynności ręczne. Powinieneś zbudować obrazy Docker we właściwej wersji, modyfikując plik Dockerfile.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Przekształć znacznik czasu na czas lokalny dla danej strefy czasowej podczas „KOPIUJ .. DO ..”

  2. Praktyczne ograniczenia indeksów wyrażeń w PostgreSQL

  3. Jak zmienić użytkownika na superużytkownika w PostgreSQL?

  4. PostgreSQL:rozszerzenie tabeli częstotliwości

  5. Railsy:Jak używać zakresu, aby znaleźć element w tablicy tablic