PostgreSQL: How to Upgrade temBoard Version 7.3 to 7.4

Dalibo released a quite important temBoard bugfixing release right before Christmas last year. Especially if you are using the statements plugin, this might be interesting to you. The new verions are temBoard version 7.4 and temBoard agent version 7.5.

The latest version for Red Hat/CentOS 7.x can be found here: https://yum.dalibo.org/labs/CentOS7-x86_64/

temboard-7.4-1.el7.noarch.rpm 15-Dec-2020
temboard-agent-7.5-1.el7.noarch.rpm 14-Dec-2020

One of the important fixes that came with temBoard version 7.4 was the following issue:

Issue: Statements Plugin shows SQL twice even if never executed
https://github.com/dalibo/temboard/issues/879

It is not a major issue, however, it is quite confusing if you see users executing a SQL statement, where you know that those user never did. Fortunately, the upgrade from 7.3 to 7.4 is quite simply. In general, you need only to stop the service, upgrade the rpm package, and start the service again.

$ sudo systemctl stop temboard.service
$ sudo systemctl stop temboard-agent@12-pg58888.service
$ sudo systemctl reset-failed
$ sudo systemctl is-system-running

$ cd /var/log/temboard/
$ sudo mv temboard.log temboard.log.before_upgrade_to_7.4

$ cd /app/lib/postgres/pgproduct/stage/temboard/7/
$ sudo yum localupdate temboard-7.4-1.el7.noarch.rpm
$ sudo yum localupdate temboard-agent-7.5-1.el7.noarch.rpm

Upgrade the temBoard (UI) from 7.3 to 7.4

$ sudo yum localupdate temboard-7.4-1.el7.noarch.rpm
Loaded plugins: enabled_repos_upload, langpacks, package_upload, product-id, search-disabled-repos, subscription-manager
Examining temboard-7.4-1.el7.noarch.rpm: temboard-7.4-1.el7.noarch
Marking temboard-7.4-1.el7.noarch.rpm as an update to temboard-7.3-1.el7.noarch
Resolving Dependencies
--> Running transaction check
---> Package temboard.noarch 0:7.3-1.el7 will be updated
---> Package temboard.noarch 0:7.4-1.el7 will be an update
--> Finished Dependency Resolution
epel/x86_64/metalink                                                                                                                                        |  26 kB  00:00:00
epel/x86_64                                                                                                                                                 | 4.7 kB  00:00:00
epel/x86_64/updateinfo                                                                                                                                      | 1.0 MB  00:00:00
epel/x86_64/primary_db                                                                                                                                      | 6.9 MB  00:00:00
rhel-7-server-extras-rpms/x86_64                                                                                                                            | 2.0 kB  00:00:00
rhel-7-server-optional-rpms/x86_64                                                                                                                          | 2.0 kB  00:00:00
rhel-7-server-rh-common-rpms/x86_64                                                                                                                         | 2.1 kB  00:00:00
rhel-7-server-rpms/x86_64                                                                                                                                   | 2.0 kB  00:00:00
rhel-7-server-satellite-tools-6.7-rpms/x86_64                                                                                                               | 2.1 kB  00:00:00
rhel-7-server-supplementary-rpms/x86_64                                                                                                                     | 2.3 kB  00:00:00
rhel-server-rhscl-7-rpms/x86_64                                                                                                                             | 2.3 kB  00:00:00

Dependencies Resolved

===================================================================================================================================================================================
 Package                               Arch                                Version                                   Repository                                               Size
===================================================================================================================================================================================
Updating:
 temboard                              noarch                              7.4-1.el7                                 /temboard-7.4-1.el7.noarch                              3.9 M

Transaction Summary
===================================================================================================================================================================================
Upgrade  1 Package

Total size: 3.9 M
Is this ok [y/d/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Updating   : temboard-7.4-1.el7.noarch                                                                                                                                       1/2
  Cleanup    : temboard-7.3-1.el7.noarch                                                                                                                                       2/2
Uploading Package Profile
Loaded plugins: langpacks, product-id, subscription-manager
  Verifying  : temboard-7.4-1.el7.noarch                                                                                                                                       1/2
  Verifying  : temboard-7.3-1.el7.noarch                                                                                                                                       2/2

Updated:
  temboard.noarch 0:7.4-1.el7

Complete!
Uploading Enabled Repositories Report
Loaded plugins: langpacks, product-id, subscription-manager

Upgrade the temBoard agent from 7.4 to 7.5.

$ sudo yum localupdate temboard-agent-7.5-1.el7.noarch.rpm
Loaded plugins: enabled_repos_upload, langpacks, package_upload, product-id, search-disabled-repos, subscription-manager
Examining temboard-agent-7.5-1.el7.noarch.rpm: temboard-agent-7.5-1.el7.noarch
Marking temboard-agent-7.5-1.el7.noarch.rpm as an update to temboard-agent-7.4-1.el7.noarch
Resolving Dependencies
--> Running transaction check
---> Package temboard-agent.noarch 0:7.4-1.el7 will be updated
---> Package temboard-agent.noarch 0:7.5-1.el7 will be an update
--> Finished Dependency Resolution
rhel-7-server-extras-rpms/x86_64                                                                                                                            | 2.0 kB  00:00:00
rhel-7-server-optional-rpms/x86_64                                                                                                                          | 2.0 kB  00:00:00
rhel-7-server-rh-common-rpms/x86_64                                                                                                                         | 2.1 kB  00:00:00
rhel-7-server-rpms/x86_64                                                                                                                                   | 2.0 kB  00:00:00
rhel-7-server-satellite-tools-6.7-rpms/x86_64                                                                                                               | 2.1 kB  00:00:00
rhel-7-server-supplementary-rpms/x86_64                                                                                                                     | 2.3 kB  00:00:00
rhel-server-rhscl-7-rpms/x86_64                                                                                                                             | 2.3 kB  00:00:00

Dependencies Resolved

===================================================================================================================================================================================
 Package                                  Arch                             Version                                Repository                                                  Size
===================================================================================================================================================================================
Updating:
 temboard-agent                           noarch                           7.5-1.el7                              /temboard-agent-7.5-1.el7.noarch                           945 k

Transaction Summary
===================================================================================================================================================================================
Upgrade  1 Package

Total size: 945 k
Is this ok [y/d/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Updating   : temboard-agent-7.5-1.el7.noarch                                                                                                                                 1/2
No units found for temboard-agent.
Too few arguments.
  Cleanup    : temboard-agent-7.4-1.el7.noarch                                                                                                                                 2/2
Uploading Package Profile
Loaded plugins: langpacks, product-id, subscription-manager
  Verifying  : temboard-agent-7.5-1.el7.noarch                                                                                                                                 1/2
  Verifying  : temboard-agent-7.4-1.el7.noarch                                                                                                                                 2/2

Updated:
  temboard-agent.noarch 0:7.5-1.el7

Complete!
Uploading Enabled Repositories Report
Loaded plugins: langpacks, product-id, subscription-manager

Now run the database upgrade as the temboard OS user.

$ su - temboard

$ temboard-migratedb upgrade
 INFO: Starting temboard-migratedb 7.4.
 INFO: Found config file /etc/temboard/temboard.conf.
 INFO: Context impl PostgresqlImpl.
 INFO: Will assume transactional DDL.
 INFO: Database up to date.

I usually adjust the temboard service as well with the nice value of -19. (Nice=-19). This is an optional step and not mandatory. I do it only to give the temBoard service the highest CPU priority.

$ cd /etc/systemd/system/multi-user.target.wants/
$ sudo vi temboard.service

$ cat temboard.service
[Unit]
Description=temBoard Web UI
After=network.target

[Service]
Type=simple
User=temboard
Group=temboard
ExecStart=/usr/bin/env SYSTEMD=1 temboard -c /etc/temboard/temboard.conf
Nice=-19

[Install]
WantedBy=multi-user.target

Startup the temBoard UI and the agent.

$ sudo systemctl daemon-reload

$ sudo systemctl start temboard.service
$ sudo systemctl start temboard-agent@12-pg58888.service

Check if the services are running correctly.

$ sudo systemctl status temboard.service
? temboard.service - temBoard Web UI
   Loaded: loaded (/usr/lib/systemd/system/temboard.service; enabled; vendor preset: disabled)
   Active: active (running) since Sun 2021-01-03 09:47:51 CET; 17s ago
 Main PID: 30953 (temboard)
   CGroup: /system.slice/temboard.service
           +-30953 temboard: web
           +-30960 temboard: worker pool
           +-30961 temboard: scheduler
           +-30973 temboard: worker pool


$ sudo systemctl status temboard-agent@12-pg58888.service
? temboard-agent@12-pg58888.service - PostgreSQL Remote Control Agent 12/pg58888
   Loaded: loaded (/usr/lib/systemd/system/temboard-agent@.service; enabled; vendor preset: disabled)
   Active: active (running) since Sun 2021-01-03 09:47:59 CET; 49s ago
 Main PID: 31234 (temboard-agent)
   CGroup: /system.slice/system-temboard\x2dagent.slice/temboard-agent@12-pg58888.service
           +-31234 temboard-agent: 12/pg58888: main process
           +-31688 temboard-agent: 12/pg58888: worker pool
           +-31689 temboard-agent: 12/pg58888: scheduler

Ready. 🙂

Conclusion

The temBoard 7.4 is a quite small bug fixing release, however, if you are using the statements plugin, this might be quite interesting for you.

Leave a Reply