LoginSignup
12
14

More than 5 years have passed since last update.

Digdag serverでH2やPostgreSQLのデータベースにデータを格納する

Last updated at Posted at 2016-06-20

はじめに

Digdagのサーバは、H2(Java組み込みデータベース)やPostgreSQL内にプロジェクトなどの情報を格納することができる。

Digdagのサーバの設定は次の三つの場所に格納できる(ようだ)

  • H2オンメモリ
  • H2パス指定 (組み込みJavaのデータベースでパスを指定して永続化)
  • PostgreSQL

設定ファイルの形式

サーバの設定はJavaのシステムプロパティ形式で記述する(参考)。key = valueという形式です。
将来的にはHOCON形式で記述できるようになるかもしれないとのこと。use HOCON configuration format

:で区切った形式でも大丈夫なようですが(参考)、各種サイトを見ると=で書いているほうが多いので、=で統一することにしました。

H2オンメモリの場合

digdag scheduler -mとすれば良いようだ。(参考)

オンメモリなのでサーバを停止すると、データは削除されます。

H2パス指定の場合

H2でも次のようにパスを指定すれば、データを永続化することができるようだ。(サーバを立ち上げてみただけで永続化できているかは未確認 )

database.type = h2
database.path = ./test.db

digdag server -c h2.confで指定したパス上にデータベースが作成される。

tree test.db
test.db
|-- digdag.mv.db
`-- digdag.trace.db

0 directories, 2 files

PostgreSQLの場合

database.type = postgresql
database.user = user
database.password = passwd
database.host = 127.0.0.1
database.port = 5432
database.database = digdagdb

digdag server -c postgresql.confでテーブルが自動的に作成される。

Digdagが指定されたデータベースの初期化を行う際に、CREATE EXTENSION IF NOT EXISTS "uuid-ossp";を実行します。権限の設定によっては実行に失敗することがあります。その場合はあらかじめスーパーユーザでCREATE EXTENSION IF NOT EXISTS "uuid-ossp";を実行すると良いようです。

PostgreSQL 9.6以上がオススメ

ER

こんなテーブルがつくられるようだ。

digdag.png(PDF版をダウンロード)

12
14
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
14