Odoo10 Upgrade the PostgreSQL from 9.5 to 10
Backup Database
- If you are use the LXD. You can snapshot a container with:
lxc snapshot <container>Replace the
<container>with your container name. For more about LXD container read LXD 2.0: Your first LXD container [3/12] - Backup a PostgreSQL database by
pg_dump(). Thepg_dumpis a utility for backing up a PostgreSQL database. The/opt/odoo10_backup/is backup folder.pg_dump -Ft odoo_database > /opt/odoo10_backup/odoo_database.tar
Backup Odoo local files
Odoo local files default is on odoo/.local/share/Odoo.
If your Odoo install folder is /opt. Then use rsync backup to /opt/odoo10_backup/ folder
rsync -azP --delete /opt/odoo /opt/odoo10_backup/
If you are use the LXD. You aren’t take this step due to snapshot a container backup all system data.
Install PostgreSQL 10
- Import the GPG key for PostgreSQL packages. Then add the repository to your system.
$ wget -q https://www.postgresql.org/media/keys/ACCC4CF8.asc -O - | sudo apt-key add - $ sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" >> /etc/apt/sources.list.d/pgdg.list' - Install PostgreSQL Database Server
$ sudo apt-get update $ sudo apt-get install postgresql-10 postgresql-contrib $ sudo pg_lsclusters Ver Cluster Port Status Owner Data directory Log file 9.5 main 5432 online postgres /var/lib/postgresql/9.5/main /var/log/postgresql/postgresql-9.5-main.log 10 main 5433 online postgres /var/lib/postgresql/10/main /var/log/postgresql/postgresql-10-main.log
Upgrading Data via pg_upgradecluster
I get this step from How do i upgrade my Postgresql 9.5 to Postgresql 10 on ubuntu 16.04
- Stop the PostreSQL service
service postgresql stop - Drop the PostreSQL 10 main cluster
pg_dropcluster --stop 10 main - Upgrade an existing PostgreSQL cluster to a new major version by pg_upgradecluster
pg_upgradecluster -m upgrade 9.5 main - Stop the PostreSQL 9.5 main cluster:
pg_dropcluster 9.5 main --stop - Remove the PostreSQL 9.5 packages:
apt-get autoremove --purge postgresql-9.5 - Restart PostgreSQL:
service postgresql start
Check your upgrade
- Check PostreSQL 10 with
pg_lsclusters:# pg_lsclusters Ver Cluster Port Status Owner Data directory Log file 10 main 5432 online postgres /var/lib/postgresql/10/main /var/log/postgresql/postgresql-10-main.log - Check Odoo service is online:
# service odoo status ● odoo.service - LSB: Start odoo daemon at boot time Loaded: loaded (/etc/init.d/odoo; bad; vendor preset: enabled) Active: active (running) since Tue 2018-06-05 07:03:01 UTC; 1min 8s ago - Try to Login
Fixed Odoo Programming Error
Sometime after upgrade you found some Error. This some solution to fixe it.
- There is no primary key for referenced table
res_users.ALTER TABLE res_users ADD PRIMARY KEY (id);I found the solution in In odoo where advanced-view-editor in saving files.