Bitbucket Server fails to load pages due to "Could not get unique fields for table" errors
プラットフォームについて: Server および Data Center のみ。この記事は、Server および Data Center プラットフォームのアトラシアン製品にのみ適用されます。
Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Fisheye および Crucible は除く
問題
Bitbucket Server pages are not loading successfully and the server returns the 500 http status.
The following appears in the atlassian-bitbucket.log:
Caused by: java.lang.RuntimeException: Could not get unique fields for table 'AO_92D5D5_USER_NOTIFICATION'
Note: the table may differ in your logs depending on the add ons installed in your instance. However, the table name will always be starting with "AO".
環境
PostgreSQL 9.6+.
原因
The support for PostgreSQL 9.6+ has been introduced as part of version 4.11.0 (see BSERV-9225 - Getting issue details... STATUS ).
ソリューション
Option #1 - Upgrade to the latest Bitbucket Server version (recommended)
The recommended solution for this problem is to upgrade to the latest Bitbucket Server version.
PostgreSQL 9.6 is supported since Bitbucket Server version 4.11.0.
Options #2 - install the postgresql-9.4.1211 jar
In case an upgrade is not possible, follow the instructions below to use a more recent postgresql jar.
- Stop Bitbucket Server
Locate the jdbc driver for PostgreSQL
The file will be located in the
<Bitbucket installation dir>/lib
folderWith a name similar to
postgresql-*.*-*-jdbc*.jar
(where * will be a number indicating the version of the add on)
Replace the located jar with the postgresql-9.4.1211.jar one
Start Bitbucket Server