All Products
Search
Document Center

Time Series Database:Pemecahan Masalah

Last Updated:Jun 28, 2025

Topik ini menjelaskan pesan kesalahan umum di Time Series Database (TSDB) untuk InfluxDB® dan solusi yang sesuai.

Menangani pesan kesalahan "database name required"

Jika tidak ada database yang ditentukan dalam kueri SHOW, akan muncul pesan kesalahan database name required. Untuk menentukan database, gunakan klausa ON dalam pernyataan SHOW, pernyataan USE <database_name> di CLI, atau parameter db dalam permintaan HTTP API.

Kueri SHOW mencakup pernyataan seperti SHOW RETENTION POLICIES, SHOW SERIES, SHOW MEASUREMENTS, SHOW TAG KEYS, SHOW TAG VALUES, dan SHOW FIELD KEYS.

Menangani pesan kesalahan "max series per database exceeded: < >"

Jika jumlah maksimum seri per database terlampaui selama permintaan penulisan, akan muncul pesan kesalahan max series per database exceeded: < >. Jumlah maksimum seri per database ditentukan oleh tipe instans dari instans Anda.

Informasi dalam tanda kurung sudut (< >) menunjukkan pengukuran dan set tag dari seri yang melebihi batas atas yang ditentukan oleh max-series-per-database.

Menangani pesan kesalahan "found < >, expected identifier at line < >, char < >"

  • Sintaksis InfluxQL

    Jika TSDB For InfluxDB® tidak dapat menemukan pengenal yang diharapkan dalam kueri, akan muncul pesan kesalahan found < >, expected identifier at line < >, char < >. Pengenal dapat berupa nama kueri kontinu, nama database, kunci bidang, nama pengukuran, nama kebijakan retensi, nama langganan, kunci tag, atau nama pengguna. Pesan kesalahan ini mengingatkan Anda untuk memeriksa sintaksis kueri Anda.

    Contoh

    > SELECT * FROM WHERE "blue"= true
    ERR: error parsing query: found WHERE, expected identifier at line 1, char 15

    Dalam pernyataan sebelumnya, nama pengukuran hilang antara FROM dan WHERE.

  • Kata Kunci InfluxQL

    Jika salah satu pengenal dalam kueri adalah kata kunci InfluxQL, akan muncul pesan kesalahan expected identifier. Jika pengenal dalam kueri Anda adalah kata kunci InfluxQL, sertakan pengenal tersebut dalam tanda kutip ganda (").

    Contoh

    > SELECT duration FROM runs
    ERR: error parsing query: found DURATION, expected identifier, string, number, bool at line 1, char 8

    Dalam pernyataan sebelumnya, kunci bidang duration adalah kata kunci InfluxQL. Untuk mencegah kesalahan ini, sertakan duration dalam tanda kutip ganda (").

    > SELECT "duration" FROM runs

Menangani pesan kesalahan "found < >, expected string at line < >, char < >"

Jika TSDB For InfluxDB® tidak dapat menemukan string yang diharapkan dalam kueri, akan muncul pesan kesalahan found < >, expected string at line < >, char < >.

Menangani pesan kesalahan "mixing aggregate and non-aggregate queries is not supported"

Jika pernyataan SELECT mencakup fungsi agregat dan kunci bidang atau tag yang tidak diagregasi, akan muncul pesan kesalahan mixing aggregate and non-aggregate queries is not supported.

Fungsi agregat mengembalikan nilai agregat tunggal. Tidak ada nilai tunggal yang dapat dikembalikan untuk kunci bidang atau tag yang tidak diagregasi.

Contoh

Data Mentah: Pengukuran peg mencakup bidang square dan round serta tag force.

name: peg
---------
time                   square   round   force
2016-10-07T18:50:00Z281
2016-10-07T18:50:10Z4122
2016-10-07T18:50:20Z6144
2016-10-07T18:50:30Z7153

Kueri 1:

> SELECT mean("square"),"round" FROM "peg"
ERR: error parsing query: mixing aggregate and non-aggregate queries is not supported

Pernyataan sebelumnya mencakup fungsi agregat dan bidang mandiri.

Fungsi mean("square") mengembalikan nilai agregat tunggal, yaitu rata-rata dari empat nilai square dalam pengukuran peg. Namun, tidak ada nilai tunggal yang dapat dikembalikan untuk empat nilai bidang round yang tidak diagregasi.

Kueri 2:

> SELECT mean("square"),"force" FROM "peg"
ERR: error parsing query: mixing aggregate and non-aggregate queries is not supported

Pernyataan sebelumnya mencakup fungsi agregat dan tag mandiri.

Fungsi mean("square") mengembalikan nilai agregat tunggal, yaitu rata-rata dari empat nilai square dalam pengukuran peg. Namun, tidak ada nilai tunggal yang dapat dikembalikan untuk empat nilai tag force yang tidak diagregasi.

Menangani pesan kesalahan "time and *influxql.VarRef are not compatible"

Jika string tanggal dan waktu dilingkupi dengan tanda kutip ganda (") dalam kueri, akan muncul pesan kesalahan time and *influxql.VarRef are not compatible. Anda harus menggunakan tanda kutip tunggal (') untuk melingkupi string tanggal dan waktu.

Contoh

Lingkupi string tanggal dan waktu dengan tanda kutip ganda ("").

> SELECT "water_level" FROM "h2o_feet" WHERE "location"='santa_monica' AND time >="2015-08-18T00:00:00Z" AND time <="2015-08-18T00:12:00Z"
ERR: invalid operation: time and *influxql.VarRef are not compatible

Lingkupi string tanggal dan waktu dengan tanda kutip tunggal (').

> SELECT "water_level" FROM "h2o_feet" WHERE "location"='santa_monica' AND time >='2015-08-18T00:00:00Z' AND time <='2015-08-18T00:12:00Z'

name: h2o_feet
time                   water_level
---------------
2015-08-18T00:00:00Z2.064
2015-08-18T00:06:00Z2.116
2015-08-18T00:12:00Z2.028

Menangani pesan kesalahan "bad timestamp"

  • Sintaksis Timestamp

    Jika protokol baris mencakup timestamp yang tidak dalam format UNIX, akan muncul pesan kesalahan bad timestamp.

    Contoh

    > INSERT pineapple value=1'2015-08-18T23:00:00Z'
    ERR:{"error":"unable to parse 'pineapple value=1 '2015-08-18T23:00:00Z'': bad timestamp"}

    Dalam contoh ini, protokol baris menggunakan timestamp dalam format RFC 3339. Untuk mencegah kesalahan ini, ubah timestamp ke format UNIX.

    > INSERT pineapple,fresh=true value=11439938800000000000
  • Sintaksis Protokol Baris

    Jika protokol baris mencakup kesalahan sintaksis umum, akan muncul pesan kesalahan bad timestamp.

    Contoh

    Permintaan Tulis 1:

    > INSERT hens location=2 value=9
    ERR:{"error":"unable to parse 'hens location=2 value=9': bad timestamp"}

    Dalam pernyataan sebelumnya, protokol baris memisahkan pengukuran hen dari tag location=2 dengan menggunakan spasi alih-alih koma (,). Akibatnya, TSDB For InfluxDB® menganggap bidang value=9 sebagai timestamp dan mengembalikan pesan kesalahan.

    Untuk mencegah kesalahan ini, gunakan koma (,) untuk memisahkan pengukuran dari tag.

    > INSERT hens,location=2 value=9

    Permintaan Tulis 2:

    > INSERT cows,name=daisy milk_prod=3 happy=3
    ERR:{"error":"unable to parse 'cows,name=daisy milk_prod=3 happy=3': bad timestamp"}

    Dalam pernyataan sebelumnya, protokol baris memisahkan bidang milk_prod=3 dari bidang happy=3 dengan menggunakan spasi alih-alih koma (,). Akibatnya, TSDB For InfluxDB® menganggap bidang happy=3 sebagai timestamp dan mengembalikan pesan kesalahan.

    Untuk mencegah kesalahan ini, gunakan koma (,) untuk memisahkan dua bidang tersebut.

    > INSERT cows,name=daisy milk_prod=3,happy=3

Menangani pesan kesalahan "time outside range"

Jika timestamp dalam protokol baris berada di luar rentang waktu valid TSDB For InfluxDB®, akan muncul pesan kesalahan time outside range.

Timestamp minimum yang valid adalah -9223372036854775806 atau 1677-09-21T00:12:43.145224194Z. Timestamp maksimum yang valid adalah 9223372036854775806 atau 2262-04-11T23:47:16.854775806Z.

Menangani pesan kesalahan "engine: cache maximum memory size exceeded"

Jika ukuran memori cache server melebihi ambang batas yang telah ditentukan dalam waktu singkat, akan muncul pesan kesalahan engine: cache maximum memory size exceeded. Ambang batas yang telah ditentukan ditentukan oleh tipe instans dari instans Anda.