Stop ThingsBoard Check if ThingsBoard and database services are running Initially ThingsBoard, check status to ensure it is stopped and then databases.
$ sudo systemctl stop thingsboard
$ sudo systemctl status thingsboard
Make a backup of the database before upgrading.
Check PostgreSQL status. It is unnecessary to stop PostgreSQL for the backup.
$ sudo systemctl status postgresql
Make sure you have enough space to place a backup of the database
Check database size
$ sudo -u postgres psql -c "SELECT pg_size_pretty( pg_database_size('thingsboard') );"
Check free space
$ df -h /
If there is enough free space - make a backup.
$ sudo -Hiu postgres pg_dump thingsboard > thingsboard.sql.bak
Check backup file being created.
Check Cassandra status. It is necessary to stop Cassandra for the backup.
$ sudo systemctl status cassandra
Flush all memtables from the node to SSTables on disk.
$ nodetool drain
Stop Cassandra.
$ sudo systemctl stop cassandra
And you have to check the status again to ensure they are surely stopped.
$ sudo systemctl status cassandra
Make sure you have enough space to place a backup of the database
Check database size.
$ du -h /var/lib/cassandra/ | tail -1
Check free space.
$ df -h /
Make a backup of Cassandra database.
$ mkdir backup
$ sudo tar -cvf backup/cassandra.tar /var/lib/cassandra
Check archive being created
Cassandra
$ sudo systemctl start cassandra
PostgreSQL Do nothing, postgresql is already running.
NOTE: These upgrade steps are applicable for ThingsBoard version 3.0PE. In order to upgrade to 3.0.1PE you need to upgrade to 3.0PE first.
resources/3.0.1pe/thingsboard-ubuntu-download.sh |
---|
|
resources/3.0.1pe/thingsboard-centos-download.sh |
---|
|
$ sudo service thingsboard stop
resources/3.0.1pe/thingsboard-ubuntu-installation.sh |
---|
|
resources/3.0.1pe/thingsboard-centos-installation.sh |
---|
|
NOTE: Package installer will ask you to merge your thingsboard configuration. It is preferred to use merge option to make sure that all your previous parameters will not be overwritten.
Please make sure that you set database.ts.type parameter value (in the file /etc/thingsboard/conf/thingsboard.yml) to “cassandra” instead of “sql” if you are using Cassandra database for timeseries data:
database:
ts_max_intervals: "${DATABASE_TS_MAX_INTERVALS:700}" # Max number of DB queries generated by single API call to fetch telemetry records
ts:
type: "${DATABASE_TS_TYPE:sql}" # cassandra, sql, or timescale (for hybrid mode, DATABASE_TS_TYPE value should be cassandra, or timescale)
NOTE: If you were using Cassandra database for entities data execute the following migration script:
# Execute migration script from Cassandra to PostgreSQL
$ sudo /usr/share/thingsboard/bin/install/upgrade.sh --fromVersion=2.5.0PE-cassandra
Otherwise execute regular upgrade script:
# Execute regular upgrade script
$ sudo /usr/share/thingsboard/bin/install/upgrade.sh --fromVersion=2.5.0
$ sudo service thingsboard start
NOTE: These upgrade steps are applicable for ThingsBoard version 3.0PE. In order to upgrade to 3.0.1PE you need to upgrade to 3.0PE first.
Download ThingsBoard PE installation package for Windows: thingsboard-windows-setup-3.0.1pe.exe.
net stop thingsboard
database:
ts_max_intervals: "${DATABASE_TS_MAX_INTERVALS:700}" # Max number of DB queries generated by single API call to fetch telemetry records
ts:
type: "${DATABASE_TS_TYPE:sql}" # cassandra, sql, or timescale (for hybrid mode, DATABASE_TS_TYPE value should be cassandra, or timescale)
NOTE Scripts listed above should be executed using Administrator Role.
NOTE: If you were using Cassandra database for entities data execute the following migration script:
C:\thingsboard>upgrade.bat --fromVersion=2.5.0PE-cassandra
Otherwise execute regular upgrade script:
C:\thingsboard>upgrade.bat --fromVersion=2.5.0
net start thingsboard
NOTE: These upgrade steps are applicable for ThingsBoard version 2.5.2PE. In order to upgrade to 3.0PE you need to upgrade to 2.5.2PE first.
resources/3.0.0pe/thingsboard-ubuntu-download.sh |
---|
|
resources/3.0.0pe/thingsboard-centos-download.sh |
---|
|
$ sudo service thingsboard stop
resources/3.0.0pe/thingsboard-ubuntu-installation.sh |
---|
|
resources/3.0.0pe/thingsboard-centos-installation.sh |
---|
|
NOTE: Package installer will ask you to merge your thingsboard configuration. It is preferred to use merge option to make sure that all your previous parameters will not be overwritten.
Please make sure that you set database.ts.type parameter value (in the file /etc/thingsboard/conf/thingsboard.yml) to “cassandra” instead of “sql” if you are using Cassandra database for timeseries data:
database:
ts_max_intervals: "${DATABASE_TS_MAX_INTERVALS:700}" # Max number of DB queries generated by single API call to fetch telemetry records
ts:
type: "${DATABASE_TS_TYPE:sql}" # cassandra, sql, or timescale (for hybrid mode, DATABASE_TS_TYPE value should be cassandra, or timescale)
NOTE: If you were using Cassandra database for entities data execute the following migration script:
# Execute migration script from Cassandra to PostgreSQL
$ sudo /usr/share/thingsboard/bin/install/upgrade.sh --fromVersion=2.5.0PE-cassandra
Otherwise execute regular upgrade script:
# Execute regular upgrade script
$ sudo /usr/share/thingsboard/bin/install/upgrade.sh --fromVersion=2.5.0
$ sudo service thingsboard start
NOTE: These upgrade steps are applicable for ThingsBoard version 2.5.2PE. In order to upgrade to 3.0PE you need to upgrade to 2.5.2PE first.
Download ThingsBoard PE installation package for Windows: thingsboard-windows-setup-3.0pe.exe.
net stop thingsboard
database:
ts_max_intervals: "${DATABASE_TS_MAX_INTERVALS:700}" # Max number of DB queries generated by single API call to fetch telemetry records
ts:
type: "${DATABASE_TS_TYPE:sql}" # cassandra, sql, or timescale (for hybrid mode, DATABASE_TS_TYPE value should be cassandra, or timescale)
NOTE Scripts listed above should be executed using Administrator Role.
NOTE: If you were using Cassandra database for entities data execute the following migration script:
C:\thingsboard>upgrade.bat --fromVersion=2.5.0PE-cassandra
Otherwise execute regular upgrade script:
C:\thingsboard>upgrade.bat --fromVersion=2.5.0
net start thingsboard
NOTE: These upgrade steps are applicable for ThingsBoard version 2.5.1PE. In order to upgrade to 2.5.2PE you need to upgrade to 2.5.1PE first.
resources/2.5.2pe/thingsboard-ubuntu-download.sh |
---|
|
resources/2.5.2pe/thingsboard-centos-download.sh |
---|
|
$ sudo service thingsboard stop
resources/2.5.2pe/thingsboard-ubuntu-installation.sh |
---|
|
resources/2.5.2pe/thingsboard-centos-installation.sh |
---|
|
NOTE: Upgrading ThingsBoard PE from 2.4.3 to 2.5.1 version in case of using PostgreSQL database require to upgrade the PostgreSQL service to 11.x version.
Please refer to the guides below that will describe how to upgrade your PostgreSQL service on:
NOTE: Package installer will ask you to merge your thingsboard configuration. It is preferred to use merge option to make sure that all your previous parameters will not be overwritten.
# Finally, execute upgrade script
$ sudo /usr/share/thingsboard/bin/install/upgrade.sh --fromVersion=2.4.3
$ sudo service thingsboard start
NOTE: These upgrade steps are applicable for ThingsBoard version 2.5.1PE. In order to upgrade to 2.5.2PE you need to upgrade to 2.5.1PE first.
Download ThingsBoard PE installation package for Windows: thingsboard-windows-setup-2.5.2pe.exe.
net stop thingsboard
Please note that upgrading ThingsBoard PE from 2.4.3 to 2.5.1 version in case of using PostgreSQL database require to upgrade the PostgreSQL service to 11.x version.
NOTE Scripts listed above should be executed using Administrator Role.
C:\thingsboard>upgrade.bat --fromVersion=2.4.3
net start thingsboard
These steps are applicable for 2.4.3PE ThingsBoard Professional Edition version.
resources/2.5.1pe/thingsboard-ubuntu-download.sh |
---|
|
resources/2.5.1pe/thingsboard-centos-download.sh |
---|
|
$ sudo service thingsboard stop
resources/2.5.1pe/thingsboard-ubuntu-installation.sh |
---|
|
resources/2.5.1pe/thingsboard-centos-installation.sh |
---|
|
NOTE: Upgrading ThingsBoard PE from 2.4.3 to 2.5.1 version in case of using PostgreSQL database require to upgrade the PostgreSQL service to 11.x version.
Please refer to the guides below that will describe how to upgrade your PostgreSQL service on:
NOTE: Package installer will ask you to merge your thingsboard configuration. It is preferred to use merge option to make sure that all your previous parameters will not be overwritten.
# Finally, execute upgrade script
$ sudo /usr/share/thingsboard/bin/install/upgrade.sh --fromVersion=2.4.3
$ sudo service thingsboard start
Download ThingsBoard PE installation package for Windows: thingsboard-windows-setup-2.5.1pe.exe.
net stop thingsboard
Please note that upgrading ThingsBoard PE from 2.4.3 to 2.5.1 version in case of using PostgreSQL database require to upgrade the PostgreSQL service to 11.x version.
NOTE Scripts listed above should be executed using Administrator Role.
C:\thingsboard>upgrade.bat --fromVersion=2.4.3
net start thingsboard
These steps are applicable for 2.4.3PE ThingsBoard Professional Edition version.
resources/2.5pe/thingsboard-ubuntu-download.sh |
---|
|
resources/2.5pe/thingsboard-centos-download.sh |
---|
|
$ sudo service thingsboard stop
resources/2.5pe/thingsboard-ubuntu-installation.sh |
---|
|
resources/2.5pe/thingsboard-centos-installation.sh |
---|
|
NOTE: Upgrading ThingsBoard PE from 2.4.3 to 2.5 version in case of using PostgreSQL database require to upgrade the PostgreSQL service to 11.x version.
Please refer to the guides below that will describe how to upgrade your PostgreSQL service on:
NOTE: Package installer will ask you to merge your thingsboard configuration. It is preferred to use merge option to make sure that all your previous parameters will not be overwritten.
Please make sure that you set database.entities.type and database.ts.type parameters values (in the file /etc/thingsboard/conf/thingsboard.yml) to “cassandra” instead of “sql” in order to upgrade your cassandra database:
database:
ts_max_intervals: "${DATABASE_TS_MAX_INTERVALS:700}" # Max number of DB queries generated by single API call to fetch telemetry records
entities:
type: "${DATABASE_ENTITIES_TYPE:sql}" # cassandra OR sql
ts:
type: "${DATABASE_TS_TYPE:sql}" # cassandra, sql, or timescale (for hybrid mode, DATABASE_TS_TYPE value should be cassandra, or timescale)
# note: timescale works only with postgreSQL database for DATABASE_ENTITIES_TYPE.
NOTE: If you are using PostgreSql(Sql) for time-series data storage before executing the upgrade script, go to the PostgreSQL terminal(psql) and follow the instructions below:
# Connect to thingsboard database:
\c thingsboard
# Execute the next commands:
# Update ts_kv table constraints:
ALTER TABLE ts_kv DROP CONSTRAINT IF EXISTS ts_kv_unq_key;
ALTER TABLE ts_kv DROP CONSTRAINT IF EXISTS ts_kv_pkey;
ALTER TABLE ts_kv ADD CONSTRAINT ts_kv_pkey PRIMARY KEY (entity_type, entity_id, key, ts);
# Update ts_kv_latest table constraints:
ALTER TABLE ts_kv_latest DROP CONSTRAINT IF EXISTS ts_kv_latest_unq_key;
ALTER TABLE ts_kv_latest DROP CONSTRAINT IF EXISTS ts_kv_latest_pkey;
ALTER TABLE ts_kv_latest ADD CONSTRAINT ts_kv_latest_pkey PRIMARY KEY (entity_type, entity_id, key);
# exit psql terminal
\q
# Finally, execute upgrade script
$ sudo /usr/share/thingsboard/bin/install/upgrade.sh --fromVersion=2.4.3
$ sudo service thingsboard start
Download ThingsBoard PE installation package for Windows: thingsboard-windows-setup-2.5pe.exe.
net stop thingsboard
database:
ts_max_intervals: "${DATABASE_TS_MAX_INTERVALS:700}" # Max number of DB queries generated by single API call to fetch telemetry records
entities:
type: "${DATABASE_ENTITIES_TYPE:sql}" # cassandra OR sql
ts:
type: "${DATABASE_TS_TYPE:sql}" # cassandra, sql, or timescale (for hybrid mode, DATABASE_TS_TYPE value should be cassandra, or timescale)
# note: timescale works only with postgreSQL database for DATABASE_ENTITIES_TYPE.
NOTE: If you are using PostgreSql(Sql) for time-series data storage before executing the upgrade script, you need to access the psql terminal. Once you will be logged to the psql terminal, please follow the instructions below:
# Connect to thingsboard database:
\c thingsboard
# Execute the next commands:
# Update ts_kv table constraints:
ALTER TABLE ts_kv DROP CONSTRAINT IF EXISTS ts_kv_unq_key;
ALTER TABLE ts_kv DROP CONSTRAINT IF EXISTS ts_kv_pkey;
ALTER TABLE ts_kv ADD CONSTRAINT ts_kv_pkey PRIMARY KEY (entity_type, entity_id, key, ts);
# Update ts_kv_latest table constraints:
ALTER TABLE ts_kv_latest DROP CONSTRAINT IF EXISTS ts_kv_latest_unq_key;
ALTER TABLE ts_kv_latest DROP CONSTRAINT IF EXISTS ts_kv_latest_pkey;
ALTER TABLE ts_kv_latest ADD CONSTRAINT ts_kv_latest_pkey PRIMARY KEY (entity_type, entity_id, key);
# exit psql terminal
\q
NOTE Scripts listed above should be executed using Administrator Role.
C:\thingsboard>upgrade.bat --fromVersion=2.4.3
net start thingsboard
These steps are applicable for 2.4.2PE and 2.4.2.1PE ThingsBoard Professional Edition versions.
resources/2.4.3pe/thingsboard-ubuntu-download.sh |
---|
|
resources/2.4.3pe/thingsboard-centos-download.sh |
---|
|
$ sudo service thingsboard stop
resources/2.4.3pe/thingsboard-ubuntu-installation.sh |
---|
|
resources/2.4.3pe/thingsboard-centos-installation.sh |
---|
|
NOTE: Package installer will ask you to merge your thingsboard configuration. It is preferred to use merge option to make sure that all your previous parameters will not be overwritten.
Please make sure that you set database.entities.type and database.ts.type parameters values (in the file /etc/thingsboard/conf/thingsboard.yml) to “cassandra” instead of “sql” in order to upgrade your cassandra database:
database:
entities:
type: "${DATABASE_ENTITIES_TYPE:cassandra}" # cassandra OR sql
ts:
type: "${DATABASE_TS_TYPE:cassandra}" # cassandra OR sql (for hybrid mode, only this value should be cassandra)
# Execute upgrade script
$ sudo /usr/share/thingsboard/bin/install/upgrade.sh --fromVersion=2.4.2
$ sudo service thingsboard start
Download ThingsBoard PE installation package for Windows: thingsboard-windows-setup-2.4.3pe.exe.
net stop thingsboard
Please make sure that you set database.entities.type and database.ts.type parameters values (in the file <ThingsBoard install dir>\conf\thingsboard.yml) to “cassandra” instead of “sql” in order to upgrade your cassandra database:
database:
entities:
type: "${DATABASE_ENTITIES_TYPE:cassandra}" # cassandra OR sql
ts:
type: "${DATABASE_TS_TYPE:cassandra}" # cassandra OR sql (for hybrid mode, only this value should be cassandra)
NOTE Scripts listed above should be executed using Administrator Role.
C:\thingsboard>upgrade.bat --fromVersion=2.4.2
net start thingsboard
These steps are applicable for 2.4.1PE and 2.4.2PE ThingsBoard Professional Edition versions.
resources/2.4.2.1pe/thingsboard-ubuntu-download.sh |
---|
|
resources/2.4.2.1pe/thingsboard-centos-download.sh |
---|
|
$ sudo service thingsboard stop
resources/2.4.2.1pe/thingsboard-ubuntu-installation.sh |
---|
|
resources/2.4.2.1pe/thingsboard-centos-installation.sh |
---|
|
NOTE: Package installer will ask you to merge your thingsboard configuration. It is preferred to use merge option to make sure that all your previous parameters will not be overwritten.
Please make sure that you set database.entities.type and database.ts.type parameters values (in the file /etc/thingsboard/conf/thingsboard.yml) to “cassandra” instead of “sql” in order to upgrade your cassandra database:
database:
entities:
type: "${DATABASE_ENTITIES_TYPE:cassandra}" # cassandra OR sql
ts:
type: "${DATABASE_TS_TYPE:cassandra}" # cassandra OR sql (for hybrid mode, only this value should be cassandra)
# Execute upgrade script
$ sudo /usr/share/thingsboard/bin/install/upgrade.sh --fromVersion=2.4.1
$ sudo service thingsboard start
Download ThingsBoard PE installation package for Windows: thingsboard-windows-setup-2.4.2.1pe.exe.
net stop thingsboard
Please make sure that you set database.entities.type and database.ts.type parameters values (in the file <ThingsBoard install dir>\conf\thingsboard.yml) to “cassandra” instead of “sql” in order to upgrade your cassandra database:
database:
entities:
type: "${DATABASE_ENTITIES_TYPE:cassandra}" # cassandra OR sql
ts:
type: "${DATABASE_TS_TYPE:cassandra}" # cassandra OR sql (for hybrid mode, only this value should be cassandra)
NOTE Scripts listed above should be executed using Administrator Role.
C:\thingsboard>upgrade.bat --fromVersion=2.4.1
net start thingsboard
These steps are applicable for 2.4.0PE ThingsBoard Professional Edition version.
resources/2.4.1pe/thingsboard-ubuntu-download.sh |
---|
|
resources/2.4.1pe/thingsboard-centos-download.sh |
---|
|
$ sudo service thingsboard stop
resources/2.4.1pe/thingsboard-ubuntu-installation.sh |
---|
|
resources/2.4.1pe/thingsboard-centos-installation.sh |
---|
|
NOTE: Package installer will ask you to merge your thingsboard configuration. It is preferred to use merge option to make sure that all your previous parameters will not be overwritten.
Please make sure that you set database.entities.type and database.ts.type parameters values (in the file /etc/thingsboard/conf/thingsboard.yml) to “cassandra” instead of “sql” in order to upgrade your cassandra database:
database:
entities:
type: "${DATABASE_ENTITIES_TYPE:cassandra}" # cassandra OR sql
ts:
type: "${DATABASE_TS_TYPE:cassandra}" # cassandra OR sql (for hybrid mode, only this value should be cassandra)
# Execute upgrade script
$ sudo /usr/share/thingsboard/bin/install/upgrade.sh --fromVersion=2.4.0
$ sudo service thingsboard start
Download ThingsBoard PE installation package for Windows: thingsboard-windows-setup-2.4.1pe.exe.
net stop thingsboard
Please make sure that you set database.entities.type and database.ts.type parameters values (in the file <ThingsBoard install dir>\conf\thingsboard.yml) to “cassandra” instead of “sql” in order to upgrade your cassandra database:
database:
entities:
type: "${DATABASE_ENTITIES_TYPE:cassandra}" # cassandra OR sql
ts:
type: "${DATABASE_TS_TYPE:cassandra}" # cassandra OR sql (for hybrid mode, only this value should be cassandra)
NOTE Scripts listed above should be executed using Administrator Role.
C:\thingsboard>upgrade.bat --fromVersion=2.4.0
net start thingsboard
Getting started guides - These guides provide quick overview of main ThingsBoard features. Designed to be completed in 15-30 minutes.
Connect your device - Learn how to connect devices based on your connectivity technology or solution.
Data visualization - These guides contain instructions how to configure complex ThingsBoard dashboards.
Data processing & actions - Learn how to use ThingsBoard Rule Engine.
IoT Data analytics - Learn how to use rule engine to perform basic analytics tasks.
Hardware samples - Learn how to connect various hardware platforms to ThingsBoard.
Advanced features - Learn about advanced ThingsBoard features.
Contribution and Development - Learn about contribution and development in ThingsBoard.