Tsurugi(劔)を試す!インストール〜起動手順

Tsurugi(劔)を試す!インストール〜起動手順 機材・ツール

前回の記事「Tsurugi(劔)とは?国産次世代データベース入門」では、国産オープンソースDB「Tsurugi(劔)」がどんなデータベースかを紹介しました。今回はいよいよ実践編です。

「読むだけじゃなくて、実際に動かしてみたい」という方向けに、DockerとUbuntuそれぞれでのインストール手順、そしてSQLコンソール「tgsql」での動作確認までを一気に解説します。Python連携やセキュリティ設定は次回以降に回すので、今回のゴールは「動かせた」という実感を持ってもらうことです。

始める前に確認すること

まず対応環境を整理しておきましょう。

  • 対応OS:Ubuntu(推奨)、AlmaLinux/Rocky Linux(試験的機能扱い)
  • Windowsで直接動かす方法は、今のところ用意されていません
  • 「まず触ってみたい」ならDocker、「実運用に近い形で検証したい」ならUbuntuへの直接インストール、というのが選び方の目安です

執筆時点(2026年7月)の最新版はv1.11.1。Tsurugiはまだ発展途上のOSSで、バージョンアップの頻度も高めです。この記事のコマンドも数ヶ月後には変わっている可能性があるので、迷ったら公式GitHubのgetting-started_ja.mdを一次情報として確認してください。正直、新しいOSSは「去年の記事通りにやったら動かなかった」がよくある話ですよね。

Windows環境しかない方は、WSL(Windows上でLinuxを動かす仕組み)か仮想環境、あるいは素直にDockerを使うのが現実的だと思います。

【最短ルート】Dockerで試す

とにかく触ってみたいだけなら、Dockerが一番早いです。イメージを取得して起動するだけで動かせます。

docker pull ghcr.io/project-tsurugi/tsurugidb:latest
docker container run -d -p 12345:12345 --name tsurugi ghcr.io/project-tsurugi/tsurugidb

-p 12345:12345は、コンテナ内のTsurugiが待ち受けるポートをホスト側にも開放する指定です。--name tsurugiでコンテナに名前を付けておくと、後の操作が楽になります。

コンテナが起動しているかどうかは、次のコマンドで確認できます。

docker container ls -a
docker container logs -f tsurugi

logs -fはログをリアルタイムで追いかけるオプション。エラーが出ていないか、起動完了のメッセージが出ているかをここでチェックします。

コンテナの中に入ってSQLコンソールを試すこともできます。

docker container exec -it tsurugi bash
tgsql -c ipc:tsurugi

なお、具体的なdocker runのオプション(ポート番号、共有メモリのサイズなど)はバージョンによって変わることがあります。断定的な手順として鵜呑みにせず、公式リポジトリのdocker-tsurugi_ja.mdを確認する癖をつけておくと安心です。

試し終えたら、コンテナは以下で止められます。

docker container stop tsurugi

Ubuntuに直接インストールする手順

「もう少し本格的に検証したい」という場合は、Ubuntuへの直接インストールがおすすめです。手順は次の4ステップ。

Ubuntuへの直接インストール4ステップの流れ
  1. GitHub Releasesからtsurugidb-<version>.tar.gzをダウンロードして展開する

bash
tar xf tsurugidb-1.11.1.tar.gz
cd tsurugidb-1.11.1

GitHubが自動生成する「Source code (zip)」「Source code (tar.gz)」は使わないよう注意してください。Releaseページの「Assets」欄にある専用アーカイブを使います。ここを間違えると、後の手順でつまずきます。

  1. 依存ライブラリをまとめてインストールする

bash
sudo ./apt-install.sh

apt-install.shは、Tsurugiのビルドと実行に必要なライブラリ一式を自動でapt installしてくれるスクリプトです。中身を確認してから実行したい方は、一度エディタで開いてみるとよいでしょう。

  1. インストール先ディレクトリを用意してビルド・インストールする

bash
mkdir -p $HOME/opt
./install.sh --prefix=$HOME/opt --symbolic

--prefixはインストール先、--symbolicはバージョン名を含まないtsurugiというシンボリックリンクを作るオプションです。ビルドにはそれなりに時間がかかるので、コーヒーでも淹れて待つくらいの気持ちでいてください。

  1. 環境変数を設定する

bash
export TSURUGI_HOME="$HOME/opt/tsurugi"

毎回打つのが面倒なら、.bashrcなどに追記しておくと次回以降が楽になります。

AlmaLinux/Rocky Linuxで試す場合は、ひと手間かかります。GCCでビルドすると性能面で既知の問題が出ることがあるため、CC=clang CXX=clang++を指定してClangでビルドしてください。この2つのディストリビューションは公式にも「試験的機能」扱いなので、業務利用を見据えるならUbuntuを選んでおくほうが無難でしょう。

起動・動作確認

インストールができたら、いよいよ起動です。サーバーの起動・停止・状態確認はtgctl(Tsurugiのサーバーを操作するコマンドラインツール)で行います。

$TSURUGI_HOME/bin/tgctl start
$TSURUGI_HOME/bin/tgctl status

tgctl statusを実行して「Tsurugi OLTP database is RUNNING」のように表示されれば起動成功。OLTPはOnline Transaction Processingの略で、日々の取引データをリアルタイムに処理する仕組みのことです。

続いてSQLコンソール「tgsql」で接続します。

$TSURUGI_HOME/bin/tgsql -c ipc:tsurugi

ipc:tsurugiは、同じマシン内での接続方式(IPC接続)を指定する書き方です。ネットワーク経由の接続も可能ですが、まずは一番シンプルなこの形で試すのが確実だと思います。

接続できたら、テーブル作成からデータ登録・検索までを流してみましょう。

BEGIN;
CREATE TABLE tb1(pk INT PRIMARY KEY, c1 INT);
INSERT INTO tb1(pk, c1) VALUES(1,100);
SELECT * FROM tb1;
COMMIT;

BEGINでトランザクション(一連の処理のまとまり)を開始し、COMMITで確定する。この流れは、PostgreSQLやMySQLを触ったことがある方には馴染みがあるはずです。

確認が終わったら、\quitでtgsqlを終了し、サーバーも止めておきます。

\quit
$TSURUGI_HOME/bin/tgctl shutdown

つまずきやすいポイント

ここまでの手順、実際にやってみると細かいところで引っかかる方が多いはずです。把握している範囲で、注意点をまとめておきます。

  • 依存ライブラリ不足によるビルド失敗:apt-install.shを飛ばしたり、途中のエラーを無視して進めたりすると、install.shのビルドでこけます。エラーメッセージに出てくるライブラリ名を手がかりに、個別にaptで入れ直すことになります
  • TSURUGI_HOMEの設定忘れ:新しいターミナルを開くたびにtgctlが「コマンドが見つかりません」と言われる。これはほぼこのパターンです。.bashrcへの追記を忘れずに
  • AlmaLinux/Rocky Linuxでの起動失敗:/var/lock/のパーミッションが1777になっていないと、一般ユーザーでの起動に失敗することがあります。この場合はvar/etcにあるtsurugi.iniのpid_directory設定を変更する必要があります

正直なところ、Tsurugiはまだ新しいOSSなので、日本語の実践情報はそう多くありません。エラーメッセージで検索しても情報が出てこない、というのもよくあるパターンですね。困ったときは公式GitHubのgetting-started_ja.mdとIssue(不具合報告や質問のやり取りが記録される場所)を一次情報として確認するのが、結局いちばん確実です。

まとめ

今回はTsurugiのインストールから起動、簡単な動作確認までを見てきました。

  • とにかく試すだけならDocker(docker pull → docker container run)
  • 実運用に近い形で検証するならUbuntuへの直接インストール(ダウンロード→apt-install.sh→install.sh→環境変数設定)
  • 起動確認はtgctl status、SQL実行はtgsqlで

「動かせた」というところまでは来られたはずです。ただ、実際の業務を考えると、次に気になるのは「アプリケーションからどう接続するか」ですよね。次回はPythonからTsurugiに接続して、データを読み書きする方法を紹介します。PythonでTsurugi(劔)に接続してみる

新しいOSSの検証やPoC(実証実験)にかける時間がなかなか取れない、という企業の方は、こうした環境構築の代行についてもご相談を受け付けています。気になる方はお気軽にお問い合わせください。

コメント

タイトルとURLをコピーしました