概要

Nextcloudを29.0.3にアップデート後、以下の警告を確認しました。

データベースにいくつかのインデックスがありません。 大きなテーブルにインデックスを追加すると、自動的に追加されないまでに時間がかかる可能性があるためです。 "occ db:add-missing-indices"を実行することによって、インスタンスが実行し続けている間にそれらの欠けているインデックスを手動で追加することができます。 インデックスが追加されると、それらのテーブルへのクエリは通常はるかに速くなります。 オプションのインデックス "schedulobj_lastmodified_idx" がテーブル "schedulingobjects"にありません

こちらに対応します。

環境

  • Ubuntu 20.04
  • PHP8.1
  • Nextcloud 29.0.3 (29.0.2からアップデート)

また、nextcloudの実行ユーザーはwww-dataです。

Nextcloudのディレクトリに移動します。

  • ディレクトリ移動
cd /var/www/html/nextcloud && pwd

自分の環境に合わせます。

occを実行します。

  • 指示されたコマンドを実行
sudo -u www-data php occ db:add-missing-indices
  • 出力結果
Adding additional schedulobj_lastmodified_idx index to the oc_schedulingobjects table, this can take some time...
oc_schedulingobjects table updated successfully.

警告の解消を確認します。

  1. 上記の措置を執ったNextcloudのサイトに管理者権限でログインします。
  2. 管理>概要に進みます。
  3. 警告が消えていることを確認します。

解消方法がある程度示されているので、Nextcloudは親切です。