Mattermost4.0.2にバージョンアップするとGitLab SSOできなくなってしまい、MattermostのDBに接続してデータを修正する必要があったので、接続の仕方。

環境


  • GitLab CE 9.4.3
  • Mattermost 4.0.2

公式Dockerイメージを使用しています。以下、Docker版でない場合も同じかどうかはちょっと解りません。

まず、GitLabのDBへのアクセスの仕方


これはフツーにドキュメントに書いてあった。ドキュメント記載の通り下記でPostgreSQLに接続できます。

1
sudo gitlab-psql -d gitlabhq_production

なお、/etc/passwdを見たらわかりますがgitlab-psqlはLinuxのユーザです。

MattermostのDBへのアクセスの仕方


さて、MattermostのDBですがGitLabのDBとは別れているのですが、データベース名が解りません。で、いろいろファイル見てたら/var/opt/gitlab/data/mattermost/config.jsonにデータベースの設定が記述されているのを見つけました。

sqlSettingsというキーに書いてあります。mattermost_productionというデータベースですね。

1
2
3
4
5
6
7
8
9
10
11
"SqlSettings": {
"DriverName": "postgres",
"DataSource": "user=gitlab_mattermost host=/var/opt/gitlab/postgresql port=5432 dbname=mattermost_production",
"DataSourceReplicas": ["user=gitlab_mattermost host=/var/opt/gitlab/postgresql port=5432 dbname=mattermost_production"],
"MaxIdleConns": 10,
"MaxOpenConns": 10,
"Trace": false,
"AtRestEncryptKey": "****************************",
"DataSourceSearchReplicas": [],
"QueryTimeout" : 30
},

後は下記のコマンドで接続します。

1
sudo gitlab-psql -d mattermost_production

テーブルの一覧とか。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
mattermost_production=# \dt;
List of relations
Schema | Name | Type | Owner
--------+------------------+-------+-------------------
public | audits | table | gitlab_mattermost
public | channelmembers | table | gitlab_mattermost
public | channels | table | gitlab_mattermost
public | clusterdiscovery | table | gitlab_mattermost
public | commands | table | gitlab_mattermost
public | compliances | table | gitlab_mattermost
public | emoji | table | gitlab_mattermost
public | fileinfo | table | gitlab_mattermost
public | incomingwebhooks | table | gitlab_mattermost
public | jobstatuses | table | gitlab_mattermost
public | licenses | table | gitlab_mattermost
public | oauthaccessdata | table | gitlab_mattermost
public | oauthapps | table | gitlab_mattermost
public | oauthauthdata | table | gitlab_mattermost
public | outgoingwebhooks | table | gitlab_mattermost
public | posts | table | gitlab_mattermost
public | preferences | table | gitlab_mattermost
public | reactions | table | gitlab_mattermost
public | sessions | table | gitlab_mattermost
public | status | table | gitlab_mattermost
public | systems | table | gitlab_mattermost
public | teammembers | table | gitlab_mattermost
public | teams | table | gitlab_mattermost
public | tokens | table | gitlab_mattermost
public | users | table | gitlab_mattermost

\q

以上です。