PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

sauvegarde de la base de données odoo12 sans propriétaire ?

Cette erreur se produit si vous avez une version différente du client Postgresql (la version sur le serveur Odoo) et du serveur (la version sur votre serveur de base de données). Si vous utilisez l'image Docker "officielle" d'Odoo ou une image basée sur celle-ci, par ex. veivaa/odoo, il est basé sur la version debian:stretch et il a Postgresql version 9.6 comme client par défaut. Avec cette configuration, vous aurez une incompatibilité :le client v9.6 se connecte au serveur v10. Cela entraînera l'erreur que vous obtenez.

Pour résoudre ce problème, vous devez installer la même version sur le client et le serveur. Vous pouvez soit rétrograder votre serveur Postgres vers la version 9.6, soit mettre à niveau le client Postgres dans votre conteneur Odoo Docker vers la version 10. Vous pouvez tester cela en effectuant la mise à niveau du client manuellement. docker exec -ti -u 0 yourodoocontainername bash au conteneur Odoo et en exécutant ces commandes à l'intérieur du conteneur 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

Vous devez disposer des autorisations root dans le conteneur pour les exécuter. Après cette installation, vous pouvez quitter exec et redémarrer votre conteneur avec docker restart yourodoocontainername . Assurez-vous que vous disposez d'un stockage persistant utilisé pour les données Odoo afin de ne pas perdre votre magasin de fichiers. Après ces étapes, vous pouvez effectuer des sauvegardes et des restaurations avec l'interface Web d'Odoo.

Vous pouvez vérifier la version de votre client Postgresql avec psql --version commande. Le résultat attendu avec la version 9.6 est psql (PostgreSQL) 9.6.10 et avec la version 10 psql (PostgreSQL) 10.6 (Debian 10.6-1.pgdg90+1) .

La méthode exec est bonne pour les tests mais pas pour une utilisation permanente car elle implique des étapes manuelles. Vous devez créer vos images Docker avec la bonne version en modifiant votre Dockerfile.