{"record":{"id":"88805d79cea61cc8","repo":"influxdata/influxdb","slug":"the-following-database-table-does-not-exist-0","errorCode":null,"errorMessage":"The following Database Table does not exist: {0}","messagePattern":"The following Database Table does not exist: (.+?)","errorType":"http","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"influxdb3_server/src/http.rs","lineNumber":376,"sourceCode":"    #[error(\"Plugin error: {0}\")]\n    Plugin(#[from] influxdb3_processing_engine::plugins::PluginError),\n\n    #[error(\"Processing engine error: {0}\")]\n    ProcessingEngine(#[from] influxdb3_processing_engine::manager::ProcessingEngineError),\n\n    #[error(transparent)]\n    Influxdb3TypesHttp(#[from] influxdb3_types::http::Error),\n\n    #[error(\"Authorization error: {0}\")]\n    ResourceAuthorization(#[from] ResourceAuthorizationError),\n\n    #[error(\"Authentication error: {0}\")]\n    Authentication(#[from] AuthenticatorError),\n\n    #[error(\"The following Database does not exist: {0}\")]\n    MissingDb(String),\n\n    #[error(\"The following Database Table does not exist: {0}\")]\n    MissingTable(String),\n\n    #[error(\"Cannot parse the given human time: {0}\")]\n    ParsingHumanTime(#[source] humantime::DurationError),\n\n    #[error(\"Cannot parse the timestamp: {0}\")]\n    ParsingTimestamp(#[from] chrono::ParseError),\n\n    #[error(\"Timestamp is out of range\")]\n    TimestampOutOfRange,\n\n    #[error(\"Current node mode does not use the processing engine\")]\n    NoProcessingEngine,\n\n    #[error(\"invalid request: {0}\")]\n    InvalidRequest(String),\n\n    #[error(transparent)]","sourceCodeStart":358,"sourceCodeEnd":394,"githubUrl":"https://github.com/influxdata/influxdb/blob/06200ef96ba82c5f6727e5038a83af8e722c6875/influxdb3_server/src/http.rs#L358-L394","documentation":"This error is the `MissingTable(String)` variant of the HTTP server's `Error` enum in influxdb3_server/src/http.rs, rendered as \"The following Database Table does not exist: {0}\". It is thrown when a request references a table (measurement) that does not exist in the specified database. InfluxDB 3 resolves the table from the query or write target and fails with this error when the catalog has no such table.","triggerScenarios":"Querying (SQL/InfluxQL) or writing to a table/measurement name that has not been created in the given database via the HTTP API.","commonSituations":"Typo in table/measurement name; querying a table that only exists in another database; version migrations where measurement names changed (1.x measurement naming vs 3.x); data not yet written so the table was never materialized.","solutions":["List tables in the database (`SHOW TABLES` or catalog API) and confirm the exact name","Write an initial data point to create the table before querying it","Fix the table/measurement name in the query or line protocol","Verify you are querying the correct database for this table"],"exampleFix":"// before\ncurl -X POST 'http://localhost:8181/api/v3/query_sql' -d '{\"db\": \"weather\", \"query\": \"SELECT * FROM tempatures\"}'\n// after\ncurl -X POST 'http://localhost:8181/api/v3/query_sql' -d '{\"db\": \"weather\", \"query\": \"SELECT * FROM temperatures\"}' // matches SHOW TABLES output","handlingStrategy":"validation","validationCode":"// before querying\nconst tables = await fetch('http://localhost:8181/api/v3/query_sql', {\n  method: 'POST',\n  body: JSON.stringify({ db: dbName, q: 'SHOW TABLES' })\n}).then(r => r.json());\nif (!tables.some(t => t.table_name === tableName)) {\n  throw new Error(`table ${tableName} missing in ${dbName}`);\n}","typeGuard":"function tableExists(tableName, existingTables) {\n  return typeof tableName === 'string' && existingTables.includes(tableName);\n}","tryCatchPattern":"try {\n  return await query(db, sql);\n} catch (e) {\n  if (e.message.startsWith('The following Database Table does not exist')) {\n    // write an initial point to materialize the table, then retry\n    await writePoint(db, seedPoint);\n    return query(db, sql);\n  }\n  throw e;\n}","preventionTips":["Write seed data before running queries against a new schema","Keep measurement/table names in a shared constants module","Run SHOW TABLES when porting 1.x measurements to 3.x to confirm names","Verify which database the client targets before assuming table presence"],"tags":["http","database","influxdb3","table","resource-not-found"],"backgroundTag":"record-not-found","analyzedSha":"06200ef96ba82c5f6727e5038a83af8e722c6875","analyzedAt":"2026-09-19T12:55:30.003Z","contentChangedAt":"2026-09-19T12:55:30.003Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}