👓

【mattermost】 MySQL→PostgreSQLへのマイグレ

2024/07/22に公開

はじめに

https://docs.mattermost.com/about/mattermost-v10-changelog.html

MySQL データベース- バージョン 10 以降、MySQL を使用した新規インストールはサポートされなくなります。すべての新規顧客および/またはデプロイメントは、サポートされている最小バージョンの PostgreSQL データベースでのみサポートされます。MySQL のサポート終了は Mattermost バージョン 11 を予定しています。

現在Google Cloud(GCP)でbitnami版のmattermostを構築して利用していますが、
bitnami版のパッケージはMySQL(mariaDB)で構築されているため
来るべき日にマイグレする必要があるかもしれません。
その時に迷わないようにまとめておこうと思います。

mattermostとは

slackのようなコミュニケーションツール(OSS)です。
https://mattermost.com/

公式手順

マイグレツールがありました。
自動と手動の2つの手順が公開されています
https://docs.mattermost.com/deploy/postgres-migration.html

PostgreSQL の手動移行

https://docs.mattermost.com/deploy/manual-postgres-migration.html

PostgreSQL の自動移行

https://docs.mattermost.com/deploy/postgres-migration-assist-tool.html

データベースの移行は困難な作業になる可能性があり、これまで移行を実行したことがない場合は、必要な手順の一部を見落としたり誤解したりする可能性が高くなります。
当社のmigration-assistツールは、実行されるタスクを自動化し、効率的でエラーのない移行エクスペリエンスを提供します。このツールは、3 つのコア ユーティリティ コマンドを提供します。

こちらの方が楽そうですね。

参考

以下の記事を参考にさせていただきました。
https://zenn.dev/kaakaa/articles/mattermost-releases-910
https://qiita.com/honma-h/items/f30cd3054ed279641e03

おわりに

実際にマイグレーションを行ったらまた改めて記事を書こうと思います。

おまけ

MySQLとPostgreSQLの比較表

項目 MySQL PostgreSQL
データ型 基本的なデータ型 豊富なデータ型(JSON、幾何学型など)
トランザクション ACID準拠 完全なACID準拠
索引 B木索引、ハッシュ索引など B木索引、ハッシュ索引、GiST索引など
サブクエリ サポート 高度なサブクエリに対応
ビュー サポート マテリアライズドビューなど、高度なビューに対応
ストアドプロシージャ サポート 複数言語に対応
ユーザー権限 基本的な権限 詳細な権限設定が可能
レプリケーション マスタースレーブ方式 マスタースレーブ方式、マルチマスター方式など
クラスタリング サポート 高度なクラスタリング機能に対応

Discussion