ベース URL を手動で変更する方法
問題
サーバーのベース URL を UI で構成するときに、UI に次のエラーが表示される。
" Your session has expired. You may need to re-submit the form or reload the page."
ソリューション
データベースの手動変更は危険な場合があります。これらの変更を試行する前にデータベースのバックアップを取得するようにしてください。
bandana テーブルからベース URL を取得します。
select BANDANAVALUE
from BANDANA
where BANDANACONTEXT = '_GLOBAL'
and BANDANAKEY = 'atlassian.confluence.settings';
これにより、bandanavalue フィールドの大規模な文字列の出力を得られます。値全体をコピーして baseUrl を更新し、値全体を挿入して戻します。このレコードの値は <settings></settings> タグで囲まれています。これらのタグを含む全体をテキスト エディタにコピーして変更を行います。
Postgres のクエリ
update BANDANA
set BANDANAVALUE = "<string_from_above_step>"
where BANDANACONTEXT = '_GLOBAL'
and BANDANAKEY = 'atlassian.confluence.settings';
SQL Server のクエリ
update BANDANA
set BANDANAVALUE = '<string_from_above_step>'
where BANDANACONTEXT = '_GLOBAL'
and BANDANAKEY = 'atlassian.confluence.settings';
Notice the use of single quotes, instead of double quotes when modifying the BANDANAVALUE. If you use double quotes and the QUOTED_IDENTIFIER parameter is set to ON in your MS SQL Server database, you may hit the following error message:
SQL Error [103] [S0004]: The identifier that starts with '<settings> <doNotSave>false</doNotSave> <allowCamelCase>false</allowCamelCase> <allowTrackbacks>false</allowTrackbacks>..... ' is too long. Maximum length is 128.
あるいは、baseUrl の値が出力のほかの場所に確実に存在しない場合は、置換昨日を利用して作業を迅速に行えます。
Postgres のクエリ
update BANDANA
set BANDANAVALUE = replace(BANDANAVALUE, '<old baseUrl>', '<new baseUrl>')
where BANDANACONTEXT = '_GLOBAL'
and BANDANAKEY = 'atlassian.confluence.settings';
SQL Server のクエリ
UPDATE BANDANA
SET BANDANAVALUE = CAST(REPLACE(CAST(BANDANAVALUE as nvarchar(max)),'<oldURL>','<newURL>') as ntext)
WHERE BANDANACONTEXT = '_GLOBAL'
AND BANDANAKEY = 'atlassian.confluence.settings';
Last modified on Mar 7, 2025
Powered by Confluence and Scroll Viewport.