すべてのプロダクト
Search
ドキュメントセンター

Time Series Database:ラインプロトコルリファレンス

最終更新日:Mar 29, 2026

ラインプロトコルは、TSDB for InfluxDB® にデータポイントを書き込むためのテキストベースのフォーマットです。

構文

<measurement>[,<tag_key>=<tag_value>[,<tag_key>=<tag_value>]] <field_key>=<field_value>[,<field_key>=<field_value>] [<timestamp>]

各行は 1 つのデータポイントを表します。行は改行 (\n) で区切られます。ラインプロトコルは空白文字の影響を受けます。

myMeasurement,tag1=val1,tag2=val2 field1="v1",field2=1i 1465839830100400200

この例では:

  • myMeasurement はメジャメント名です

  • tag1=val1,tag2=val2 はタグセットです

  • field1="v1",field2=1i はフィールドセットです

  • 1465839830100400200 はナノ秒単位のタイムスタンプです

要素

要素必須説明
メジャメントはいメジャメントの名前。データポイントごとに 1 つのメジャメントのみ。文字列
タグセットいいえデータポイントのすべてのタグキーと値のペア。キーと値は文字列である必要があります
フィールドセットはい。少なくとも 1 つのフィールドが必要です。データポイントのすべてのフィールドキーと値のペア。フィールドキー:文字列。フィールド値:浮動小数点数、整数、文字列、またはブール値
タイムスタンプいいえ。デフォルトはサーバーのローカル UTC 時間 (ナノ秒単位) です。データポイントのタイムスタンプ。データポイントごとに 1 つのタイムスタンプのみ。UNIX ナノ秒タイムスタンプ

データ型

適用対象詳細
FLOATフィールド値IEEE-754 64 ビット浮動小数点数。デフォルトの数値型です。例:11.01.e+781.E+78。指数表記がサポートされています。
INTEGERフィールド値符号付き 64 ビット整数、-9223372036854775808 から 9223372036854775807 の範囲。値に i を付加します。例:1i
STRINGメジャメント、タグキー、タグ値、フィールドキー、フィールド値最大 64 KB。
BOOLEANフィールド値TRUE 値は tTtrueTrue、または TRUE として書き込みます。FALSE 値は fFfalseFalse、または FALSE として書き込みます。
TIMESTAMPタイムスタンプUNIX ナノ秒タイムスタンプ。最小値:-9223372036854775806 (1677-09-21T00:12:43.145224194Z)。最大値:9223372036854775806 (2262-04-11T23:47:16.854775806Z)。他の精度のタイムスタンプを書き込むには、HTTP API を使用します。
ブール値を書き込む際の構文は、それらをクエリする際の構文とは異なります。詳細については、「よくある質問」をご参照ください。
フィールド値の型は、1 つのシャード内では統一されている必要がありますが、シャード間では異なっていてもかまいません。型の競合が SELECT * クエリにどのように影響するかについては、よくある質問をご参照ください。

データ型の例

1.0 を浮動小数点数として書き込む

> INSERT mymeas value=1

1 を浮動小数点数として書き込む

> INSERT mymeas value=1

接尾辞 i がない数値リテラルは、デフォルトで浮動小数点数です。

-1.234456e+78 を浮動小数点数として書き込む

> INSERT mymeas value=-1.234456e+78

1 を整数として書き込む

> INSERT mymeas value=1i

文字列のフィールド値を書き込む

> INSERT mymeas value="stringing along"

文字列のフィールド値はダブルクォーテーションマークで囲みます。

ブール値のフィールド値を書き込む

> INSERT mymeas value=true

ブール値のフィールド値を引用符で囲まないでください。次の文は true をブール値ではなく、文字列として書き込みます:

> INSERT mymeas value="true"

同一シャード内での型の競合

> INSERT mymeas value=3 1465934559000000000
> INSERT mymeas value="stringing along" 1465934559000000001
ERR: {"error":"field type conflict: input field \"value\" on measurement \"mymeas\" is type string, already exists as type float"}

シャード間での型の競合 (成功)

> INSERT mymeas value=3 1465934559000000000
> INSERT mymeas value="stringing along" 1466625759000000000
>

2 つのタイムスタンプが異なるシャードに属する場合、型の競合はエラーを生成しません。

引用符、特殊文字、および追加の命名ガイドライン

引用符

要素ダブルクォーテーションマーク (")シングルクォーテーションマーク (')
タイムスタンプ使用しない使用しない
メジャメント、タグキー、タグ値、フィールドキー使用しない使用しない
フィールド値 (STRING)必須。文字列のフィールド値はダブルクォーテーションマークで囲みます。浮動小数点数、整数、ブール値は引用符で囲まないでください。使用しない

メジャメント名、タグキー、タグ値、またはフィールドキーをダブルクォーテーションマークまたはシングルクォーテーションマークで囲むと、それらが名前の一部となり、クエリ構文が複雑になる可能性があります。ラインプロトコルデータでは、これらの要素を引用符で囲むことは避けてください。

無効:タイムスタンプをダブルクォーテーションマークで囲む

> INSERT mymeas value=9 "1466625759000000000"
ERR: {"error":"unable to parse 'mymeas value=9 \"1466625759000000000\"': bad timestamp"}

タイムスタンプを引用符で囲むと、bad timestamp エラーが発生します。

セマンティックエラー:ブール値のフィールド値をダブルクォーテーションマークで囲む

> INSERT mymeas value="true"
> SHOW FIELD KEYS FROM "mymeas"
name: mymeas
------------
fieldKey         fieldType
value            string

TSDB for InfluxDB® は、ダブルクォーテーションマークで囲まれたフィールド値をすべて文字列として扱います。

セマンティックエラー:メジャメント名をダブルクォーテーションマークで囲む

> INSERT "mymeas" value=200
> SHOW MEASUREMENTS
name: measurements
------------------
name
"mymeas"
> SELECT * FROM mymeas
> SELECT * FROM "mymeas"
> SELECT * FROM "\"mymeas\""
name: "mymeas"
--------------
time                              value
2016-06-14T20:36:21.836131014Z   200

メジャメント名がダブルクォーテーションマークで囲まれている場合、引用符は名前の一部になります。メジャメントをクエリするには、FROM 句で各ダブルクォーテーションマークをバックスラッシュでエスケープします:"\"mymeas\""

特殊文字

次の文字はバックスラッシュ (\) でエスケープしてください:

要素エスケープする文字
メジャメント名カンマ (,)、スペース ( )
タグキーカンマ (,)、等号 (=)、スペース ( )
タグ値カンマ (,)、等号 (=)、スペース ( )
フィールドキーカンマ (,)、等号 (=)、スペース ( )
フィールド値 (STRING)ダブルクォーテーションマーク (")

バックスラッシュ (\) をエスケープする必要はありません。上記にリストされていない特殊文字もエスケープする必要はありません。

例:特殊文字を含むデータポイント

> INSERT "measurement\ with\ quo⚡️es\ and\ emoji",tag\ key\ with\ sp⚡️ces=tag\,value\,with"commas" field_k\ey="string field value, only \" need be esc⚡️ped"

追加の命名ガイドライン

  • コメント:行頭の番号記号 (#) はコメントを示します。TSDB for InfluxDB® は、# と次の改行 (\n) の間のすべての文字を無視します。

  • 大文字と小文字の区別:メジャメント名、タグキー、タグ値、フィールドキー、フィールド値はすべて大文字と小文字を区別します。

  • InfluxQL キーワード:InfluxQL キーワードを識別子名として使用することは避けてください。識別子として使用すると、InfluxQL キーワードがクエリキーワードとして解釈され、クエリエラーが発生する可能性があります。

  • 「time」 キーワード: time は、二重引用符なしで、継続クエリ名、データベース名、メジャー名、保持ポリシー名、サブスクリプション名、またはユーザー名として使用できます。ただし、time はフィールドキーまたはタグキーとして使用できません。TSDB for InfluxDB® は、エラーを返してこのような書き込みリクエストを拒否します。詳細については、「よくある質問」をご参照ください。

ラインプロトコルデータの書き込み

データベースへのラインプロトコルデータの書き込み手順については、ツールの章をご参照ください。

重複するデータポイント

データポイントは、そのメジャメント名、タグセット、およびタイムスタンプによって一意に識別されます。既存のポイントと同じメジャメント、タグセット、およびタイムスタンプを持つデータポイントを書き込んだ場合:

  • 新しいポイントのフィールドセットが既存のポイントと異なる場合、フィールドセットは古いフィールドセットと新しいフィールドセットの和集合になります。

  • フィールドキーが競合する場合、新しい値が優先されます。

重複を回避するための例とガイドラインについては、「よくある質問」をご参照ください。

注意事項

  • 書き込み前にタグをソートする:Go の bytes.Compare 関数と同じ順序でタグキーによってタグをソートします。タグの順序を一貫させることで、書き込みパフォーマンスが向上します。

  • より粗い精度のタイムスタンプを使用する:データ圧縮のパフォーマンスを向上させるために、粗い粒度のタイムスタンプを使用することを推奨します。

  • NTP で時計を同期する:TSDB for InfluxDB® は、ホストのローカル UTC 時間を使用してタイムスタンプを割り当てます。ホストの時計が Network Time Protocol (NTP) サーバーと同期されていない場合、書き込まれたデータに不正確なタイムスタンプが付与される可能性があります。

InfluxDB® は InfluxData の登録商標であり、InfluxData は TSDB for InfluxDB® と提携しておらず、また推奨もしていません。