Mattermost 7.8.0 Boards has disappeared from the menu and I can't access it

Mattermost 7.8.0 Boards has disappeared from the menu and I can’t access it.

I am using Mattermost Team Edition version 7.8.0, built on a Synology NAS with a Docker image.

The building procedure is as shown in https://mariushosting.com/how-to-install-mattermost-on-your-synology-nas/.
I installed it on 2023-01-29 and it was running smoothly.

But,I tried to access the board for the first time in a while around 10 am Japan time on February 22, and noticed that it was missing from the menu.
I tried the following steps in order according to what I found on Google and in this community.

1: Restarted the Docker image, but that didn’t solve the problem.
2: I disabled the plugin and then enabled it, but it did not resolve the issue.
3: I disabled the plugin and then restarted the Docker image, but the plugin was gone. Re-installed and activated it again from the marketplace, but it did not resolve the issue.
4: The plugin was deactivated, then removed, then reinstalled and activated again from the marketplace, but did not resolve the issue.

After the last step “4”, I saw the following message in “Plugin Management”.

cannot activate plugin: error initializing the DB: driver: postgres, message: failed to execute migration, command: executing_query, originalError: pq: could not create unique index “unique_user_category_board”, query: DO $$ BEGIN IF NOT EXISTS ( SELECT * FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_schema = ‘public’ AND constraint_name = ‘unique_user_category_board’ AND constraint_type = ‘UNIQUE’ AND table_name = ‘focalboard_category_boards’ ) THEN ALTER TABLE public.focalboard_category_boards ADD CONSTRAINT unique_user_category_board UNIQUE(user_id, board_id); END IF; END; $$ LANGUAGE plpgsql;

snap2739

The content of mattermost.log is as follows.

{“timestamp”:“2023-02-22 10:32:56.495 +09:00”,“level”:“warn”,“msg”:“Unrecognized config permissions tag value.”,“caller”:“api4/config.go:426”,“tag_value”:“sysconsole_write_read"}
{“timestamp”:“2023-02-22 10:32:56.994 +09:00”,“level”:“warn”,“msg”:“plugin configured with a nil SecureConfig”,“caller”:“plugin/hclog_adapter.go:72”,“plugin_id”:“focalboard”}
{“timestamp”:“2023-02-22 10:32:57.061 +09:00”,“level”:“info”,“msg”:“connectDatabase”,“caller”:“app/plugin_api.go:973”,“plugin_id”:“focalboard”,“dbType”:“postgres”}
{“timestamp”:“2023-02-22 10:32:57.101 +09:00”,“level”:“info”,“msg”:“{"level":"info","msg":"Pinging SQL","fields":{"database":"master"}}\n”,“caller”:“io/io.go:428”,“plugin_id”:“focalboard”,“source”:“plugin_stderr”}
{“timestamp”:“2023-02-22 10:32:57.233 +09:00”,“level”:“info”,“msg”:“2023/02/22 10:32:57 == category_board_add_unique_constraint: migrating ===============================================\n”,“caller”:“io/io.go:428”,“plugin_id”:“focalboard”,“source”:“plugin_stderr”}
{“timestamp”:“2023-02-22 10:32:57.277 +09:00”,“level”:“error”,“msg”:“Table creation / migration failed”,“caller”:“app/plugin_api.go:976”,“plugin_id”:“focalboard”,“error”:“"driver: postgres, message: failed to execute migration, command: executing_query, originalError: pq: could not create unique index "unique_user_category_board", query: \n\n\n\n\t\tDO\n\t\t$$\n\t\tBEGIN\n\t\tIF NOT EXISTS (\n\t\t\tSELECT * FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS\n\t\t\t\tWHERE constraint_schema = ‘public’\n\t\t\t\tAND constraint_name = ‘unique_user_category_board’\n\t\t\t\tAND constraint_type = ‘UNIQUE’\n\t\t\t\tAND table_name = ‘focalboard_category_boards’\n\t\t) THEN\n\t\t\tALTER TABLE public.focalboard_category_boards ADD CONSTRAINT unique_user_category_board UNIQUE(user_id, board_id);\n\t\tEND IF;\n\t\tEND;\n\t\t$$\n\t\tLANGUAGE plpgsql;\n\t\t\n\n\n\n"”}
{“timestamp”:“2023-02-22 10:32:57.281 +09:00”,“level”:“info”,“msg”:“plugin process exited”,“caller”:“plugin/hclog_adapter.go:61”,“plugin_id”:“focalboard”,“wrapped_extras”:“pathplugins/focalboard/server/dist/plugin-linux-amd64pid115”}
{“timestamp”:“2023-02-22 10:32:57.281 +09:00”,“level”:“error”,“msg”:“Unable to activate plugin”,“caller”:“app/plugin.go:166”,“plugin_id”:“focalboard”,“error”:“cannot activate plugin: error initializing the DB: driver: postgres, message: failed to execute migration, command: executing_query, originalError: pq: could not create unique index "unique_user_category_board", query: \n\n\n\n\t\tDO\n\t\t$$\n\t\tBEGIN\n\t\tIF NOT EXISTS (\n\t\t\tSELECT * FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS\n\t\t\t\tWHERE constraint_schema = ‘public’\n\t\t\t\tAND constraint_name = ‘unique_user_category_board’\n\t\t\t\tAND constraint_type = ‘UNIQUE’\n\t\t\t\tAND table_name = ‘focalboard_category_boards’\n\t\t) THEN\n\t\t\tALTER TABLE public.focalboard_category_boards ADD CONSTRAINT unique_user_category_board UNIQUE(user_id, board_id);\n\t\tEND IF;\n\t\tEND;\n\t\t$$\n\t\tLANGUAGE plpgsql;\n\t\t\n\n\n\n”}
{“timestamp”:“2023-02-22 10:32:57.732 +09:00”,“level”:“warn”,“msg”:“plugin configured with a nil SecureConfig”,“caller”:“plugin/hclog_adapter.go:72”,“plugin_id”:“focalboard”}
{“timestamp”:“2023-02-22 10:32:57.783 +09:00”,“level”:“info”,“msg”:“connectDatabase”,“caller”:“app/plugin_api.go:973”,“plugin_id”:“focalboard”,“dbType”:“postgres”}
{“timestamp”:“2023-02-22 10:32:57.818 +09:00”,“level”:“info”,“msg”:“{"level":"info","msg":"Pinging SQL","fields":{"database":"master"}}\n”,“caller”:“io/io.go:428”,“plugin_id”:“focalboard”,“source”:“plugin_stderr”}
{“timestamp”:“2023-02-22 10:32:57.919 +09:00”,“level”:“info”,“msg”:“2023/02/22 10:32:57 == category_board_add_unique_constraint: migrating ===============================================\n”,“caller”:“io/io.go:428”,“plugin_id”:“focalboard”,“source”:“plugin_stderr”}
{“timestamp”:“2023-02-22 10:32:57.960 +09:00”,“level”:“error”,“msg”:“Table creation / migration failed”,“caller”:“app/plugin_api.go:976”,“plugin_id”:“focalboard”,“error”:“"driver: postgres, message: failed to execute migration, command: executing_query, originalError: pq: could not create unique index "unique_user_category_board", query: \n\n\n\n\t\tDO\n\t\t$$\n\t\tBEGIN\n\t\tIF NOT EXISTS (\n\t\t\tSELECT * FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS\n\t\t\t\tWHERE constraint_schema = ‘public’\n\t\t\t\tAND constraint_name = ‘unique_user_category_board’\n\t\t\t\tAND constraint_type = ‘UNIQUE’\n\t\t\t\tAND table_name = ‘focalboard_category_boards’\n\t\t) THEN\n\t\t\tALTER TABLE public.focalboard_category_boards ADD CONSTRAINT unique_user_category_board UNIQUE(user_id, board_id);\n\t\tEND IF;\n\t\tEND;\n\t\t$$\n\t\tLANGUAGE plpgsql;\n\t\t\n\n\n\n"”}
{“timestamp”:“2023-02-22 10:32:57.963 +09:00”,“level”:“info”,“msg”:“plugin process exited”,“caller”:“plugin/hclog_adapter.go:61”,“plugin_id”:“focalboard”,“wrapped_extras”:“pathplugins/focalboard/server/dist/plugin-linux-amd64pid124”}
{“timestamp”:“2023-02-22 10:32:57.963 +09:00”,“level”:“error”,“msg”:“Unable to activate plugin”,“caller”:“app/plugin.go:166”,“plugin_id”:“focalboard”,“error”:“cannot activate plugin: error initializing the DB: driver: postgres, message: failed to execute migration, command: executing_query, originalError: pq: could not create unique index "unique_user_category_board", query: \n\n\n\n\t\tDO\n\t\t$$\n\t\tBEGIN\n\t\tIF NOT EXISTS (\n\t\t\tSELECT * FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS\n\t\t\t\tWHERE constraint_schema = ‘public’\n\t\t\t\tAND constraint_name = ‘unique_user_category_board’\n\t\t\t\tAND constraint_type = ‘UNIQUE’\n\t\t\t\tAND table_name = ‘focalboard_category_boards’\n\t\t) THEN\n\t\t\tALTER TABLE public.focalboard_category_boards ADD CONSTRAINT unique_user_category_board UNIQUE(user_id, board_id);\n\t\tEND IF;\n\t\tEND;\n\t\t$$\n\t\tLANGUAGE plpgsql;\n\t\t\n\n\n\n”}
{“timestamp”:“2023-02-22 10:33:13.985 +09:00”,“level”:“warn”,“msg”:“Unrecognized config permissions tag value.”,“caller”:“api4/config.go:426”,“tag_value”:"sysconsole_write
read"}
{“timestamp”:“2023-02-22 10:33:14.461 +09:00”,“level”:“warn”,“msg”:“plugin configured with a nil SecureConfig”,“caller”:“plugin/hclog_adapter.go:72”,“plugin_id”:“focalboard”}
{“timestamp”:“2023-02-22 10:33:14.508 +09:00”,“level”:“info”,“msg”:“connectDatabase”,“caller”:“app/plugin_api.go:973”,“plugin_id”:“focalboard”,“dbType”:“postgres”}
{“timestamp”:“2023-02-22 10:33:14.543 +09:00”,“level”:“info”,“msg”:“{"level":"info","msg":"Pinging SQL","fields":{"database":"master"}}\n”,“caller”:“io/io.go:428”,“plugin_id”:“focalboard”,“source”:“plugin_stderr”}
{“timestamp”:“2023-02-22 10:33:14.659 +09:00”,“level”:“info”,“msg”:“2023/02/22 10:33:14 == category_board_add_unique_constraint: migrating ===============================================\n”,“caller”:“io/io.go:428”,“plugin_id”:“focalboard”,“source”:“plugin_stderr”}
{“timestamp”:“2023-02-22 10:33:14.700 +09:00”,“level”:“error”,“msg”:“Table creation / migration failed”,“caller”:“app/plugin_api.go:976”,“plugin_id”:“focalboard”,“error”:“"driver: postgres, message: failed to execute migration, command: executing_query, originalError: pq: could not create unique index "unique_user_category_board", query: \n\n\n\n\t\tDO\n\t\t$$\n\t\tBEGIN\n\t\tIF NOT EXISTS (\n\t\t\tSELECT * FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS\n\t\t\t\tWHERE constraint_schema = ‘public’\n\t\t\t\tAND constraint_name = ‘unique_user_category_board’\n\t\t\t\tAND constraint_type = ‘UNIQUE’\n\t\t\t\tAND table_name = ‘focalboard_category_boards’\n\t\t) THEN\n\t\t\tALTER TABLE public.focalboard_category_boards ADD CONSTRAINT unique_user_category_board UNIQUE(user_id, board_id);\n\t\tEND IF;\n\t\tEND;\n\t\t$$\n\t\tLANGUAGE plpgsql;\n\t\t\n\n\n\n"”}
{“timestamp”:“2023-02-22 10:33:14.703 +09:00”,“level”:“info”,“msg”:“plugin process exited”,“caller”:“plugin/hclog_adapter.go:61”,“plugin_id”:“focalboard”,“wrapped_extras”:“pathplugins/focalboard/server/dist/plugin-linux-amd64pid134”}
{“timestamp”:“2023-02-22 10:33:14.703 +09:00”,“level”:“error”,“msg”:“Unable to activate plugin”,“caller”:“app/plugin.go:166”,“plugin_id”:“focalboard”,“error”:“cannot activate plugin: error initializing the DB: driver: postgres, message: failed to execute migration, command: executing_query, originalError: pq: could not create unique index "unique_user_category_board", query: \n\n\n\n\t\tDO\n\t\t$$\n\t\tBEGIN\n\t\tIF NOT EXISTS (\n\t\t\tSELECT * FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS\n\t\t\t\tWHERE constraint_schema = ‘public’\n\t\t\t\tAND constraint_name = ‘unique_user_category_board’\n\t\t\t\tAND constraint_type = ‘UNIQUE’\n\t\t\t\tAND table_name = ‘focalboard_category_boards’\n\t\t) THEN\n\t\t\tALTER TABLE public.focalboard_category_boards ADD CONSTRAINT unique_user_category_board UNIQUE(user_id, board_id);\n\t\tEND IF;\n\t\tEND;\n\t\t$$\n\t\tLANGUAGE plpgsql;\n\t\t\n\n\n\n”}
{“timestamp”:“2023-02-22 10:33:15.085 +09:00”,“level”:“warn”,“msg”:“plugin configured with a nil SecureConfig”,“caller”:“plugin/hclog_adapter.go:72”,“plugin_id”:“focalboard”}
{“timestamp”:“2023-02-22 10:33:15.144 +09:00”,“level”:“info”,“msg”:“connectDatabase”,“caller”:“app/plugin_api.go:973”,“plugin_id”:“focalboard”,“dbType”:“postgres”}
{“timestamp”:“2023-02-22 10:33:15.177 +09:00”,“level”:“info”,“msg”:“{"level":"info","msg":"Pinging SQL","fields":{"database":"master"}}\n”,“caller”:“io/io.go:428”,“plugin_id”:“focalboard”,“source”:“plugin_stderr”}
{“timestamp”:“2023-02-22 10:33:15.282 +09:00”,“level”:“info”,“msg”:“2023/02/22 10:33:15 == category_board_add_unique_constraint: migrating ===============================================\n”,“caller”:“io/io.go:428”,“plugin_id”:“focalboard”,“source”:“plugin_stderr”}
{“timestamp”:“2023-02-22 10:33:15.318 +09:00”,“level”:“error”,“msg”:“Table creation / migration failed”,“caller”:“app/plugin_api.go:976”,“plugin_id”:“focalboard”,“error”:“"driver: postgres, message: failed to execute migration, command: executing_query, originalError: pq: could not create unique index "unique_user_category_board", query: \n\n\n\n\t\tDO\n\t\t$$\n\t\tBEGIN\n\t\tIF NOT EXISTS (\n\t\t\tSELECT * FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS\n\t\t\t\tWHERE constraint_schema = ‘public’\n\t\t\t\tAND constraint_name = ‘unique_user_category_board’\n\t\t\t\tAND constraint_type = ‘UNIQUE’\n\t\t\t\tAND table_name = ‘focalboard_category_boards’\n\t\t) THEN\n\t\t\tALTER TABLE public.focalboard_category_boards ADD CONSTRAINT unique_user_category_board UNIQUE(user_id, board_id);\n\t\tEND IF;\n\t\tEND;\n\t\t$$\n\t\tLANGUAGE plpgsql;\n\t\t\n\n\n\n"”}
{“timestamp”:“2023-02-22 10:33:15.321 +09:00”,“level”:“info”,“msg”:“plugin process exited”,“caller”:“plugin/hclog_adapter.go:61”,“plugin_id”:“focalboard”,“wrapped_extras”:“pathplugins/focalboard/server/dist/plugin-linux-amd64pid143”}
{“timestamp”:“2023-02-22 10:33:15.321 +09:00”,“level”:“error”,“msg”:“Unable to activate plugin”,“caller”:“app/plugin.go:166”,“plugin_id”:“focalboard”,“error”:“cannot activate plugin: error initializing the DB: driver: postgres, message: failed to execute migration, command: executing_query, originalError: pq: could not create unique index "unique_user_category_board", query: \n\n\n\n\t\tDO\n\t\t$$\n\t\tBEGIN\n\t\tIF NOT EXISTS (\n\t\t\tSELECT * FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS\n\t\t\t\tWHERE constraint_schema = ‘public’\n\t\t\t\tAND constraint_name = ‘unique_user_category_board’\n\t\t\t\tAND constraint_type = ‘UNIQUE’\n\t\t\t\tAND table_name = ‘focalboard_category_boards’\n\t\t) THEN\n\t\t\tALTER TABLE public.focalboard_category_boards ADD CONSTRAINT unique_user_category_board UNIQUE(user_id, board_id);\n\t\tEND IF;\n\t\tEND;\n\t\t$$\n\t\tLANGUAGE plpgsql;\n\t\t\n\n\n\n”}
{“timestamp”:“2023-02-22 10:33:19.320 +09:00”,“level”:“warn”,“msg”:“Unrecognized config permissions tag value.”,“caller”:“api4/config.go:426”,“tag_value”:"sysconsole_write
read"}
{“timestamp”:“2023-02-22 10:33:19.710 +09:00”,“level”:“warn”,“msg”:“plugin configured with a nil SecureConfig”,“caller”:“plugin/hclog_adapter.go:72”,“plugin_id”:“focalboard”}
{“timestamp”:“2023-02-22 10:33:19.758 +09:00”,“level”:“info”,“msg”:“connectDatabase”,“caller”:“app/plugin_api.go:973”,“plugin_id”:“focalboard”,“dbType”:“postgres”}
{“timestamp”:“2023-02-22 10:33:19.798 +09:00”,“level”:“info”,“msg”:“{"level":"info","msg":"Pinging SQL","fields":{"database":"master"}}\n”,“caller”:“io/io.go:428”,“plugin_id”:“focalboard”,“source”:“plugin_stderr”}
{“timestamp”:“2023-02-22 10:33:19.913 +09:00”,“level”:“info”,“msg”:“2023/02/22 10:33:19 == category_board_add_unique_constraint: migrating ===============================================\n”,“caller”:“io/io.go:428”,“plugin_id”:“focalboard”,“source”:“plugin_stderr”}
{“timestamp”:“2023-02-22 10:33:19.949 +09:00”,“level”:“error”,“msg”:“Table creation / migration failed”,“caller”:“app/plugin_api.go:976”,“plugin_id”:“focalboard”,“error”:“"driver: postgres, message: failed to execute migration, command: executing_query, originalError: pq: could not create unique index "unique_user_category_board", query: \n\n\n\n\t\tDO\n\t\t$$\n\t\tBEGIN\n\t\tIF NOT EXISTS (\n\t\t\tSELECT * FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS\n\t\t\t\tWHERE constraint_schema = ‘public’\n\t\t\t\tAND constraint_name = ‘unique_user_category_board’\n\t\t\t\tAND constraint_type = ‘UNIQUE’\n\t\t\t\tAND table_name = ‘focalboard_category_boards’\n\t\t) THEN\n\t\t\tALTER TABLE public.focalboard_category_boards ADD CONSTRAINT unique_user_category_board UNIQUE(user_id, board_id);\n\t\tEND IF;\n\t\tEND;\n\t\t$$\n\t\tLANGUAGE plpgsql;\n\t\t\n\n\n\n"”}
{“timestamp”:“2023-02-22 10:33:19.953 +09:00”,“level”:“info”,“msg”:“plugin process exited”,“caller”:“plugin/hclog_adapter.go:61”,“plugin_id”:“focalboard”,“wrapped_extras”:“pathplugins/focalboard/server/dist/plugin-linux-amd64pid152”}
{“timestamp”:“2023-02-22 10:33:19.953 +09:00”,“level”:“error”,“msg”:“Unable to activate plugin”,“caller”:“app/plugin.go:166”,“plugin_id”:“focalboard”,“error”:“cannot activate plugin: error initializing the DB: driver: postgres, message: failed to execute migration, command: executing_query, originalError: pq: could not create unique index "unique_user_category_board", query: \n\n\n\n\t\tDO\n\t\t$$\n\t\tBEGIN\n\t\tIF NOT EXISTS (\n\t\t\tSELECT * FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS\n\t\t\t\tWHERE constraint_schema = ‘public’\n\t\t\t\tAND constraint_name = ‘unique_user_category_board’\n\t\t\t\tAND constraint_type = ‘UNIQUE’\n\t\t\t\tAND table_name = ‘focalboard_category_boards’\n\t\t) THEN\n\t\t\tALTER TABLE public.focalboard_category_boards ADD CONSTRAINT unique_user_category_board UNIQUE(user_id, board_id);\n\t\tEND IF;\n\t\tEND;\n\t\t$$\n\t\tLANGUAGE plpgsql;\n\t\t\n\n\n\n”}
{“timestamp”:“2023-02-22 10:33:20.440 +09:00”,“level”:“warn”,“msg”:“plugin configured with a nil SecureConfig”,“caller”:“plugin/hclog_adapter.go:72”,“plugin_id”:“focalboard”}
{“timestamp”:“2023-02-22 10:33:20.490 +09:00”,“level”:“info”,“msg”:“connectDatabase”,“caller”:“app/plugin_api.go:973”,“plugin_id”:“focalboard”,“dbType”:“postgres”}
{“timestamp”:“2023-02-22 10:33:20.524 +09:00”,“level”:“info”,“msg”:“{"level":"info","msg":"Pinging SQL","fields":{"database":"master"}}\n”,“caller”:“io/io.go:428”,“plugin_id”:“focalboard”,“source”:“plugin_stderr”}
{“timestamp”:“2023-02-22 10:33:20.636 +09:00”,“level”:“info”,“msg”:“2023/02/22 10:33:20 == category_board_add_unique_constraint: migrating ===============================================\n”,“caller”:“io/io.go:428”,“plugin_id”:“focalboard”,“source”:“plugin_stderr”}
{“timestamp”:“2023-02-22 10:33:20.684 +09:00”,“level”:“error”,“msg”:“Table creation / migration failed”,“caller”:“app/plugin_api.go:976”,“plugin_id”:“focalboard”,“error”:“"driver: postgres, message: failed to execute migration, command: executing_query, originalError: pq: could not create unique index "unique_user_category_board", query: \n\n\n\n\t\tDO\n\t\t$$\n\t\tBEGIN\n\t\tIF NOT EXISTS (\n\t\t\tSELECT * FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS\n\t\t\t\tWHERE constraint_schema = ‘public’\n\t\t\t\tAND constraint_name = ‘unique_user_category_board’\n\t\t\t\tAND constraint_type = ‘UNIQUE’\n\t\t\t\tAND table_name = ‘focalboard_category_boards’\n\t\t) THEN\n\t\t\tALTER TABLE public.focalboard_category_boards ADD CONSTRAINT unique_user_category_board UNIQUE(user_id, board_id);\n\t\tEND IF;\n\t\tEND;\n\t\t$$\n\t\tLANGUAGE plpgsql;\n\t\t\n\n\n\n"”}
{“timestamp”:“2023-02-22 10:33:20.688 +09:00”,“level”:“warn”,“msg”:“error closing client during Kill”,“caller”:“plugin/hclog_adapter.go:70”,“plugin_id”:“focalboard”,“wrapped_extras”:“errunexpected EOF”}
{“timestamp”:“2023-02-22 10:33:20.688 +09:00”,“level”:“warn”,“msg”:“plugin failed to exit gracefully”,“caller”:“plugin/hclog_adapter.go:72”,“plugin_id”:“focalboard”}
{“timestamp”:“2023-02-22 10:33:20.688 +09:00”,“level”:“info”,“msg”:“plugin process exited”,“caller”:“plugin/hclog_adapter.go:61”,“plugin_id”:“focalboard”,“wrapped_extras”:“pathplugins/focalboard/server/dist/plugin-linux-amd64pid161”}
{“timestamp”:“2023-02-22 10:33:20.688 +09:00”,“level”:“error”,“msg”:“Unable to activate plugin”,“caller”:“app/plugin.go:166”,“plugin_id”:“focalboard”,“error”:“cannot activate plugin: error initializing the DB: driver: postgres, message: failed to execute migration, command: executing_query, originalError: pq: could not create unique index "unique_user_category_board", query: \n\n\n\n\t\tDO\n\t\t$$\n\t\tBEGIN\n\t\tIF NOT EXISTS (\n\t\t\tSELECT * FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS\n\t\t\t\tWHERE constraint_schema = ‘public’\n\t\t\t\tAND constraint_name = ‘unique_user_category_board’\n\t\t\t\tAND constraint_type = ‘UNIQUE’\n\t\t\t\tAND table_name = ‘focalboard_category_boards’\n\t\t) THEN\n\t\t\tALTER TABLE public.focalboard_category_boards ADD CONSTRAINT unique_user_category_board UNIQUE(user_id, board_id);\n\t\tEND IF;\n\t\tEND;\n\t\t$$\n\t\tLANGUAGE plpgsql;\n\t\t\n\n\n\n”}
{“timestamp”:“2023-02-22 10:34:16.002 +09:00”,“level”:“warn”,“msg”:“Unrecognized config permissions tag value.”,“caller”:“api4/config.go:426”,“tag_value”:"sysconsole_write
read"}
{“timestamp”:“2023-02-22 10:34:18.721 +09:00”,“level”:“warn”,“msg”:“Unrecognized config permissions tag value.”,“caller”:“api4/config.go:426”,“tag_value”:"sysconsole_write
read"}
{“timestamp”:“2023-02-22 10:34:19.166 +09:00”,“level”:“warn”,“msg”:“plugin configured with a nil SecureConfig”,“caller”:“plugin/hclog_adapter.go:72”,“plugin_id”:“focalboard”}
{“timestamp”:“2023-02-22 10:34:19.230 +09:00”,“level”:“info”,“msg”:“connectDatabase”,“caller”:“app/plugin_api.go:973”,“plugin_id”:“focalboard”,“dbType”:“postgres”}
{“timestamp”:“2023-02-22 10:34:19.276 +09:00”,“level”:“info”,“msg”:“{"level":"info","msg":"Pinging SQL","fields":{"database":"master"}}\n”,“caller”:“io/io.go:428”,“plugin_id”:“focalboard”,“source”:“plugin_stderr”}
{“timestamp”:“2023-02-22 10:34:19.450 +09:00”,“level”:“info”,“msg”:“2023/02/22 10:34:19 == category_board_add_unique_constraint: migrating ===============================================\n”,“caller”:“io/io.go:428”,“plugin_id”:“focalboard”,“source”:“plugin_stderr”}
{“timestamp”:“2023-02-22 10:34:19.500 +09:00”,“level”:“error”,“msg”:“Table creation / migration failed”,“caller”:“app/plugin_api.go:976”,“plugin_id”:“focalboard”,“error”:“"driver: postgres, message: failed to execute migration, command: executing_query, originalError: pq: could not create unique index "unique_user_category_board", query: \n\n\n\n\t\tDO\n\t\t$$\n\t\tBEGIN\n\t\tIF NOT EXISTS (\n\t\t\tSELECT * FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS\n\t\t\t\tWHERE constraint_schema = ‘public’\n\t\t\t\tAND constraint_name = ‘unique_user_category_board’\n\t\t\t\tAND constraint_type = ‘UNIQUE’\n\t\t\t\tAND table_name = ‘focalboard_category_boards’\n\t\t) THEN\n\t\t\tALTER TABLE public.focalboard_category_boards ADD CONSTRAINT unique_user_category_board UNIQUE(user_id, board_id);\n\t\tEND IF;\n\t\tEND;\n\t\t$$\n\t\tLANGUAGE plpgsql;\n\t\t\n\n\n\n"”}
{“timestamp”:“2023-02-22 10:34:19.503 +09:00”,“level”:“warn”,“msg”:“error closing client during Kill”,“caller”:“plugin/hclog_adapter.go:70”,“plugin_id”:“focalboard”,“wrapped_extras”:“errunexpected EOF”}
{“timestamp”:“2023-02-22 10:34:19.503 +09:00”,“level”:“warn”,“msg”:“plugin failed to exit gracefully”,“caller”:“plugin/hclog_adapter.go:72”,“plugin_id”:“focalboard”}
{“timestamp”:“2023-02-22 10:34:19.503 +09:00”,“level”:“info”,“msg”:“plugin process exited”,“caller”:“plugin/hclog_adapter.go:61”,“plugin_id”:“focalboard”,“wrapped_extras”:“pathplugins/focalboard/server/dist/plugin-linux-amd64pid190”}
{“timestamp”:“2023-02-22 10:34:19.503 +09:00”,“level”:“error”,“msg”:“Unable to activate plugin”,“caller”:“app/plugin.go:166”,“plugin_id”:“focalboard”,“error”:“cannot activate plugin: error initializing the DB: driver: postgres, message: failed to execute migration, command: executing_query, originalError: pq: could not create unique index "unique_user_category_board", query: \n\n\n\n\t\tDO\n\t\t$$\n\t\tBEGIN\n\t\tIF NOT EXISTS (\n\t\t\tSELECT * FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS\n\t\t\t\tWHERE constraint_schema = ‘public’\n\t\t\t\tAND constraint_name = ‘unique_user_category_board’\n\t\t\t\tAND constraint_type = ‘UNIQUE’\n\t\t\t\tAND table_name = ‘focalboard_category_boards’\n\t\t) THEN\n\t\t\tALTER TABLE public.focalboard_category_boards ADD CONSTRAINT unique_user_category_board UNIQUE(user_id, board_id);\n\t\tEND IF;\n\t\tEND;\n\t\t$$\n\t\tLANGUAGE plpgsql;\n\t\t\n\n\n\n”}
{“timestamp”:“2023-02-22 10:34:20.312 +09:00”,“level”:“warn”,“msg”:“plugin configured with a nil SecureConfig”,“caller”:“plugin/hclog_adapter.go:72”,“plugin_id”:“focalboard”}
{“timestamp”:“2023-02-22 10:34:20.363 +09:00”,“level”:“info”,“msg”:“connectDatabase”,“caller”:“app/plugin_api.go:973”,“plugin_id”:“focalboard”,“dbType”:“postgres”}
{“timestamp”:“2023-02-22 10:34:20.394 +09:00”,“level”:“info”,“msg”:“{"level":"info","msg":"Pinging SQL","fields":{"database":"master"}}\n”,“caller”:“io/io.go:428”,“plugin_id”:“focalboard”,“source”:“plugin_stderr”}
{“timestamp”:“2023-02-22 10:34:20.509 +09:00”,“level”:“info”,“msg”:“2023/02/22 10:34:20 == category_board_add_unique_constraint: migrating ===============================================\n”,“caller”:“io/io.go:428”,“plugin_id”:“focalboard”,“source”:“plugin_stderr”}
{“timestamp”:“2023-02-22 10:34:20.548 +09:00”,“level”:“error”,“msg”:“Table creation / migration failed”,“caller”:“app/plugin_api.go:976”,“plugin_id”:“focalboard”,“error”:“"driver: postgres, message: failed to execute migration, command: executing_query, originalError: pq: could not create unique index "unique_user_category_board", query: \n\n\n\n\t\tDO\n\t\t$$\n\t\tBEGIN\n\t\tIF NOT EXISTS (\n\t\t\tSELECT * FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS\n\t\t\t\tWHERE constraint_schema = ‘public’\n\t\t\t\tAND constraint_name = ‘unique_user_category_board’\n\t\t\t\tAND constraint_type = ‘UNIQUE’\n\t\t\t\tAND table_name = ‘focalboard_category_boards’\n\t\t) THEN\n\t\t\tALTER TABLE public.focalboard_category_boards ADD CONSTRAINT unique_user_category_board UNIQUE(user_id, board_id);\n\t\tEND IF;\n\t\tEND;\n\t\t$$\n\t\tLANGUAGE plpgsql;\n\t\t\n\n\n\n"”}
{“timestamp”:“2023-02-22 10:34:20.551 +09:00”,“level”:“info”,“msg”:“plugin process exited”,“caller”:“plugin/hclog_adapter.go:61”,“plugin_id”:“focalboard”,“wrapped_extras”:“pathplugins/focalboard/server/dist/plugin-linux-amd64pid199”}
{“timestamp”:“2023-02-22 10:34:20.552 +09:00”,“level”:“error”,“msg”:“Unable to activate plugin”,“caller”:“app/plugin.go:166”,“plugin_id”:“focalboard”,“error”:“cannot activate plugin: error initializing the DB: driver: postgres, message: failed to execute migration, command: executing_query, originalError: pq: could not create unique index "unique_user_category_board", query: \n\n\n\n\t\tDO\n\t\t$$\n\t\tBEGIN\n\t\tIF NOT EXISTS (\n\t\t\tSELECT * FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS\n\t\t\t\tWHERE constraint_schema = ‘public’\n\t\t\t\tAND constraint_name = ‘unique_user_category_board’\n\t\t\t\tAND constraint_type = ‘UNIQUE’\n\t\t\t\tAND table_name = ‘focalboard_category_boards’\n\t\t) THEN\n\t\t\tALTER TABLE public.focalboard_category_boards ADD CONSTRAINT unique_user_category_board UNIQUE(user_id, board_id);\n\t\tEND IF;\n\t\tEND;\n\t\t$$\n\t\tLANGUAGE plpgsql;\n\t\t\n\n\n\n”}
{“timestamp”:“2023-02-22 10:35:05.176 +09:00”,“level”:“warn”,“msg”:“Unrecognized config permissions tag value.”,“caller”:“api4/config.go:426”,“tag_value”:"sysconsole_write
read"}
{“timestamp”:“2023-02-22 10:35:58.120 +09:00”,“level”:“warn”,“msg”:“Unrecognized config permissions tag value.”,“caller”:“api4/config.go:426”,“tag_value”:"sysconsole_write
*_read”}
{“timestamp”:“2023-02-22 10:35:58.622 +09:00”,“level”:“warn”,“msg”:“plugin configured with a nil SecureConfig”,“caller”:“plugin/hclog_adapter.go:72”,“plugin_id”:“focalboard”}
{“timestamp”:“2023-02-22 10:35:58.672 +09:00”,“level”:“info”,“msg”:“connectDatabase”,“caller”:“app/plugin_api.go:973”,“plugin_id”:“focalboard”,“dbType”:“postgres”}
{“timestamp”:“2023-02-22 10:35:58.698 +09:00”,“level”:“info”,“msg”:“{"level":"info","msg":"Pinging SQL","fields":{"database":"master"}}\n”,“caller”:“io/io.go:428”,“plugin_id”:“focalboard”,“source”:“plugin_stderr”}
{“timestamp”:“2023-02-22 10:35:58.793 +09:00”,“level”:“info”,“msg”:“2023/02/22 10:35:58 == category_board_add_unique_constraint: migrating ===============================================\n”,“caller”:“io/io.go:428”,“plugin_id”:“focalboard”,“source”:“plugin_stderr”}
{“timestamp”:“2023-02-22 10:35:58.833 +09:00”,“level”:“warn”,“msg”:“error closing client during Kill”,“caller”:“plugin/hclog_adapter.go:70”,“plugin_id”:“focalboard”,“wrapped_extras”:“errunexpected EOF”}
{“timestamp”:“2023-02-22 10:35:58.833 +09:00”,“level”:“warn”,“msg”:“plugin failed to exit gracefully”,“caller”:“plugin/hclog_adapter.go:72”,“plugin_id”:“focalboard”}
{“timestamp”:“2023-02-22 10:35:58.833 +09:00”,“level”:“info”,“msg”:“plugin process exited”,“caller”:“plugin/hclog_adapter.go:61”,“plugin_id”:“focalboard”,“wrapped_extras”:“pathplugins/focalboard/server/dist/plugin-linux-amd64pid244”}
{“timestamp”:“2023-02-22 10:35:58.833 +09:00”,“level”:“error”,“msg”:“Unable to activate plugin”,“caller”:“app/plugin.go:166”,“plugin_id”:“focalboard”,“error”:“cannot activate plugin: error initializing the DB: driver: postgres, message: failed to execute migration, command: executing_query, originalError: pq: could not create unique index "unique_user_category_board", query: \n\n\n\n\t\tDO\n\t\t$$\n\t\tBEGIN\n\t\tIF NOT EXISTS (\n\t\t\tSELECT * FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS\n\t\t\t\tWHERE constraint_schema = ‘public’\n\t\t\t\tAND constraint_name = ‘unique_user_category_board’\n\t\t\t\tAND constraint_type = ‘UNIQUE’\n\t\t\t\tAND table_name = ‘focalboard_category_boards’\n\t\t) THEN\n\t\t\tALTER TABLE public.focalboard_category_boards ADD CONSTRAINT unique_user_category_board UNIQUE(user_id, board_id);\n\t\tEND IF;\n\t\tEND;\n\t\t$$\n\t\tLANGUAGE plpgsql;\n\t\t\n\n\n\n”}
{“timestamp”:“2023-02-22 10:35:59.239 +09:00”,“level”:“warn”,“msg”:“plugin configured with a nil SecureConfig”,“caller”:“plugin/hclog_adapter.go:72”,“plugin_id”:“focalboard”}

I could only write so much due to the character limit.
What should I do?

Hi @darkhorse_jp and welcome to the Mattermost forums!

Did you follow the upgrade instructions and delete duplicate data from your boards tables?

https://docs.mattermost.com/install/self-managed-changelog.html#important-upgrade-notes

encountered this problem to - the proposed solution worked in my case :+1:

Hello
I don’t get it, what duplicates please?
I’m stuck and lost all the boards :-/
Thanks in advance

Hi Alex and welcome to the Mattermost forums!

In the important upgrade notes I linked you can find a SQL query you need to run on the database prior to upgrading (you can run it afterwards, too, but the Mattermost application server needs to be down).

Hi there,

First of all, thank you for your super helpful comments and a great contribution you are doing at Mattermost.

Running Mattermost on LXC with Docker Compose.

I am having similar issues, it was working like a charm before upgrade (from 7.x.x > 9.4.2 - I truly don’t remember what version I upgraded from).

Once upgraded, boards disappeared from the dropdown menu and if I open the Boards link from the Boards bot, it leads to an empty page (but correct URL as far as I can see).

In the logs, the only warning I am getting is:
msg=Should not persist transitionally prepackaged plugin: not previously enabled plugin_id=focalboard prepackaged_version=7.11.4 But I am not able to enable the plugin, Boards plugin is not listed in the System Console, no mention of it anywhere.

I tried to apply all the Then... column commands recommended in the link below, but no luck.
https://docs.mattermost.com/upgrade/important-upgrade-notes.html

I am very much looking forward for your reply. Please let me know if I should open a new ticket here or on GitHub, I am aware that Boards moved to fully Community supported branch of Mattermost.
Please let me know if I should take this to another forum, GitHub repo, etc.

Any help/recommendation will be greatly appreciated.

Boards was deprecated from the core product in about v7.8 It can still be installed, it’s just supported by the community now.