Как обновить Postgresql для Nextcloud

При обновлении Nextcloud может потребоваться обновление Postgresql. В этой статье описан пошаговый процесс обновления.

 

Шаг 1. Обновление Nextcloud

Сначала выполним обновление Nextcloud с помощью следующих команд:

sudo -E -u www-data php /var/www/nextcloud/updater/updater.phar
occ upgrade

При завершении установки нам предложит выполнить occ upgrade, выбираем “y”. Также будет предложено оставить режим обслуживания или нет.


В параметрах сервера можно увидеть, что новая версия установлена, но появилось предупреждение о необходимости обновления Postgresql.

 

Шаг 2. Создание дампа базы данных

Делаем это командами:

su - postgres
pg_dumpall > backup.sql

 

Шаг 3. Обновление Ubuntu

После этого необходимо обновить Ubuntu до 22 версии, поскольку новые версии Postgresql не поддерживаются на текущей версии 20. Для обновления пользуемся командами:

apt upgrade –y
do-release-upgrade

Жмем Y и Enter для продолжения, дальше также соглашаемся нажатием Enter.

 

Жмем Y и Enter, начался процесс установки.


При появлении такого сообщения выбираем Yes, соглашаемся с помощью Enter.

 

Здесь аналогично.


При появлении таких сообщений в ходе установки выбираем «keep your currently-installed version», введя "N", далее жмем Enter.

 

Здесь жмем Enter.

 

Соглашаемся. Далее выйдет такое же сообщение о необходимости перезагрузки системы после обновления. Соглашаемся и вновь подключаемся к машине.

 

Видим новую версию системы, а также при обновлении системы автоматически устанавливается новая версия Postgresql 14. Обновление ubuntu завершено успешно.

 

Шаг 4. Удаление старой версии Postgresql

Для этого последовательно выполняем команды:

sudo systemctl stop postgresql@12-main
sudo apt-get --purge remove postgresql-12
sudo rm -rf /var/lib/postgresql/12/
sudo rm -rf /etc/postgresql/12/

Далее выполняем:

sudo apt-get autoremove
sudo apt-get clean

Следующим шагом необходимо отредактировать конфигурационный файл Postgresql. Используем команду:

nano /etc/postgresql/14/main/postgresql.conf

Необходимо долистать до раздела CONNECTIONS AND AUTHENTICATION. Здесь необходимо в строке port = 5433 изменить значение на 5432, а в строке #listen_addresses = ‘localhost’ нужно убрать решетку в начале и заменить ‘localhost’ на ‘*’, чтобы результат был listen_addresses = ‘*’




После этого необходимо сохранить изменения в файле. Жмем Ctrl + O, затем Enter. Затем жмем Ctrl + X.

 

Шаг 5. Восстановление базы данных

Для начала редактируем конфиг командой:

nano /etc/postgresql/14/main/pg_hba.conf

Находим строчку local all postgres peer, меняем в этой строке значение peer на trust. Жмем Ctrl + O, затем Enter. Затем жмем Ctrl + X.

 

Выполняем:

systemctl restart postgresql

а затем выполняем:

psql -U postgres -w -d postgres -f /var/lib/postgresql/backup.sql

После этого дамп нашей базы данных будет восстановлен. Далее устанавливаем новый пароль для пользователя который указан администратором базы данных ('dbuser') в файле конфигурации Nextcloud (nano /var/www/nextcloud/config/config.php).

Выполняем команду:

sudo -u postgres psql

Далее вводим:

ALTER USER username with password 'password';

где username - наш 'dbuser' из файла конфигурации nextcloud,

a 'password' - пароль который мы задаем для этого пользователя

После вводим \q и жмем Enter.

Далее вновь входим в файл с помощью nano /etc/postgresql/14/main/pg_hba.conf
Находим строчку local all postgres trust, меняем в этой строке значение trust обратно на peer. Жмем Ctrl + O, затем Enter. Затем жмем Ctrl + X.

Выполняем:

systemctl restart postgresql

 

Шаг 6. Редактирование конфигурационного файла Nextcloud

Для этого используем команду:

nano /var/www/nextcloud/config/config.php

Находим строку с где указан 'dbuser' и 'dbpassword'

В строке dbpassword необходимо установить тот же пароль, который мы ранее обновляли для этого пользователя. Жмем Ctrl + O, затем Enter. Затем жмем Ctrl + X.
Выполняем перезагрузку службы apache2 командой:

systemctl restart apache2

Затем заходим на наш Nextcloud. Как мы видим, сообщение о необходимости обновления Postgresql исчезло. Обновление прошло успешно.

 

Шаг 7. Исправление ошибок

Теперь можно исправить следующие ошибки, которые мы видим в параметрах сервера.
Используем команды:

cd /var/www/nextcloud/
sudo -u www-data php occ maintenance:repair --include-expensive
sudo -u www-data php occ db:add-missing-indices

Переходим обратно в параметры сервера. Как мы видим все предупреждения исправлены.

 

Таким образом мы обновили Nextcloud, Ubuntu и Postgresql.

Вы уже работаете с сервисами Cloud4Y?

Перейти на вебсайт

Попробовать бесплатно

  • 0 Users Found This Useful
Was this answer helpful?

Related Articles

Как подсоединить папку по WebDav в Mac OS

Для получения доступа к папке Nextcloud по протоколу WebDav в Mac OS, можно использовать...

How to connect the Nextcloud folder via WebDav in the mobile OS

Go to Nextcloud cloud storage, click Folder in the top panel, and then Settings. Then in the...

How to connect a folder via WebDav in Windows

Go to the Nextcloud cloud storage, click on the Folder icon in the top bar, and then Settings...

How to connect to the Nextcloud SaaS service

There are two ways to connect to Nextcloud SaaS: Via a web browser Via FTP protocol....

How to create and delete SaaS Nextcloud users

After following the link https://orgname.corpdrive.cloud4u.com in your browser, where 'orgname'...