---
title: TB Upgrade
tags: ThingsBoard
image: https://i.imgur.com/EQPWlKr.png
---
# TB Upgrade
[toc]
## Current State

* GCP thingsboard-pe-1-vm up running
```bash
star@thingsboard-pe-1-vm:~$ dpkg -s thingsboard | grep -i version
Version: 3.2.2PE-1
```
## Upgrade Steps
### ==Stop== ThingsBoard
```bash
star@thingsboard-pe-1-vm:~$ sudo systemctl stop thingsboard
star@thingsboard-pe-1-vm:~$ sudo systemctl status thingsboard
● thingsboard.service - thingsboard
Loaded: loaded (/lib/systemd/system/thingsboard.service; enabled; vendor preset: enabled)
Active: inactive (dead) since Thu 2021-08-26 01:19:09 UTC; 5s ago
Process: 3721 ExecStart=/usr/share/thingsboard/bin/thingsboard.jar (code=killed, signal=TERM)
Main PID: 3721 (code=killed, signal=TERM)
Aug 26 00:56:14 thingsboard-pe-1-vm thingsboard.jar[3721]: "description" : "Devices amount limitation"
Aug 26 00:56:14 thingsboard-pe-1-vm thingsboard.jar[3721]: },
Aug 26 00:56:14 thingsboard-pe-1-vm thingsboard.jar[3721]: "whitelabeling" : {
Aug 26 00:56:14 thingsboard-pe-1-vm thingsboard.jar[3721]: "value" : true,
Aug 26 00:56:14 thingsboard-pe-1-vm thingsboard.jar[3721]: "description" : "White-labeling feature"
Aug 26 00:56:14 thingsboard-pe-1-vm thingsboard.jar[3721]: }
Aug 26 00:56:14 thingsboard-pe-1-vm thingsboard.jar[3721]: }
Aug 26 01:19:08 thingsboard-pe-1-vm systemd[1]: Stopping thingsboard...
Aug 26 01:19:09 thingsboard-pe-1-vm thingsboard.jar[3721]: Stopping ThingsBoard License Client...
Aug 26 01:19:09 thingsboard-pe-1-vm systemd[1]: Stopped thingsboard.
```
### ==Backup== Database
* Check **PostgreSQL** status! It is unnecessary to stop PostgreSQL for the backup.
```bash
star@thingsboard-pe-1-vm:~$ sudo systemctl status postgresql
● postgresql.service - PostgreSQL RDBMS
Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
Active: active (exited) since Tue 2021-08-24 07:50:59 UTC; 1 day 17h ago
Main PID: 1354 (code=exited, status=0/SUCCESS)
Tasks: 0 (limit: 4915)
CGroup: /system.slice/postgresql.service
Aug 24 07:50:59 thingsboard-pe-1-vm systemd[1]: Starting PostgreSQL RDBMS...
Aug 24 07:50:59 thingsboard-pe-1-vm systemd[1]: Started PostgreSQL RDBMS.
```
* To ensure **enough disk space** to place a backup of the database
```bash
star@thingsboard-pe-1-vm:~$ sudo -u postgres psql -c "SELECT pg_size_pretty( pg_database_size('thingsboard') );"
pg_size_pretty
----------------
12 MB
(1 row)
star@thingsboard-pe-1-vm:~$ df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 39G 6.6G 33G 18% /
```
* If there is enough free space - make a backup
```bash
star@thingsboard-pe-1-vm:~$ sudo -Hiu postgres pg_dump thingsboard > thingsboard.sql.bak
star@thingsboard-pe-1-vm:~$ ls -lh
total 2.6M
-rw-rw-r-- 1 star star 2.6M Aug 26 01:25 thingsboard.sql.bak
```
### ==Upgrading== to 3.3PE from 3.2.2
* ThingsBoard WebReport and PE packages download
```bash
wget https://dist.thingsboard.io/thingsboard-3.3pe.deb
wget https://dist.thingsboard.io/tb-web-report-3.3pe.deb
```
* ThingsBoard PE and WebReport services upgrade
```bash
//Stop ThingsBoard and WebReport services
sudo service thingsboard stop
sudo service tb-web-report stop
//Install ThingsBoard WebReport package
star@thingsboard-pe-1-vm:~$ sudo dpkg -i tb-web-report-3.3pe.deb
(Reading database ... 263436 files and directories currently installed.)
Preparing to unpack tb-web-report-3.3pe.deb ...
Unpacking tb-web-report (3.3.0PE-1) over (3.2.2PE-1) ...
Setting up tb-web-report (3.3.0PE-1) ...
sudo systemctl daemon-reload
sudo service tb-web-report start
sudo service tb-web-report status
//Install ThingsBoard Package
sudo dpkg -i thingsboard-3.3pe.deb
(Reading database ... 263436 files and directories currently installed.)
Preparing to unpack thingsboard-3.3pe.deb ...
Unpacking thingsboard (3.3.0PE-1) over (3.2.2PE-1) ...
Setting up thingsboard (3.3.0PE-1) ...
Installing new version of config file /usr/share/thingsboard/conf/thingsboard.yml ...
//Execute regular upgrade scrip
star@thingsboard-pe-1-vm:~$ sudo /usr/share/thingsboard/bin/install/upgrade.sh --fromVersion=3.2.2
______ __ _ ____ __
/_ __/ / /_ (_) ____ ____ _ _____ / __ ) ____ ____ _ _____ ____/ /
/ / / __ \ / / / __ \ / __ `/ / ___/ / __ | / __ \ / __ `/ / ___/ / __ /
/ / / / / / / / / / / / / /_/ / (__ ) / /_/ / / /_/ // /_/ / / / / /_/ /
/_/ /_/ /_/ /_/ /_/ /_/ \__, / /____/ /_____/ \____/ \__,_/ /_/ \__,_/
/____/
===================================================
:: ThingsBoard Professional Edition :: (v3.3.0PE)
===================================================
Warning: Nashorn engine is planned to be removed from a future JDK release
Starting ThingsBoard Upgrade from version 3.2.2 ...
Upgrading ThingsBoard from version 3.2.2 to 3.3.0 ...
Load Drop Partitions functions ...
Functions successfully loaded!
Updating schema ...
Load Edge TTL functions ...
Edge TTL functions successfully loaded!
Updating indexes and TTL procedure for event table...
Updating schema settings...
Schema updated.
Updating data from version 3.2.2 to 3.3.0 ...
Tenants default edge rule chain updater: 1 total entities updated.
Tenants alarms customer updater: 1 total entities updated.
Upgrading ThingsBoard from version 3.3.0 to 3.3.0PE ...
Updating schema ...
Schema updated.
Updating data from version 3.3.0 to 3.3.0PE ...
Updating system data...
Upgrade finished successfully!
ThingsBoard upgraded successfully!
star@thingsboard-pe-1-vm:~$
//Start the service
sudo systemctl daemon-reload
sudo service thingsboard start
sudo service thingsboard status
```
### ==Upgrading== to 3.3.1PE from 3.3.0
```bash
wget https://dist.thingsboard.io/thingsboard-3.3.1pe.deb
wget https://dist.thingsboard.io/tb-web-report-3.3.1pe.deb
sudo service thingsboard stop
sudo service tb-web-report stop
sudo dpkg -i tb-web-report-3.3pe.deb
sudo systemctl daemon-reload
sudo service tb-web-report start
sudo service tb-web-report status
sudo dpkg -i thingsboard-3.3pe.deb
sudo /usr/share/thingsboard/bin/install/upgrade.sh --fromVersion=3.3.0
______ __ _ ____ __
/_ __/ / /_ (_) ____ ____ _ _____ / __ ) ____ ____ _ _____ ____/ /
/ / / __ \ / / / __ \ / __ `/ / ___/ / __ | / __ \ / __ `/ / ___/ / __ /
/ / / / / / / / / / / / / /_/ / (__ ) / /_/ / / /_/ // /_/ / / / / /_/ /
/_/ /_/ /_/ /_/ /_/ /_/ \__, / /____/ /_____/ \____/ \__,_/ /_/ \__,_/
/____/
===================================================
:: ThingsBoard Professional Edition :: (v3.3.1PE)
===================================================
Warning: Nashorn engine is planned to be removed from a future JDK release
Starting ThingsBoard Upgrade from version 3.3.0 ...
Upgrading ThingsBoard from version 3.3.0 to 3.3.1 ...
Upgrading ThingsBoard from version 3.3.1 to 3.3.1PE ...
Updating schema ...
Schema updated.
Updating data from version 3.3.1 to 3.3.1PE ...
Updating system data...
Upgrade finished successfully!
ThingsBoard upgraded successfully!
sudo systemctl daemon-reload
sudo service thingsboard start
```
## Reference
* https://thingsboard.io/docs/user-guide/install/pe/upgrade-instructions/