influxdata/influxdb · error · Error

tried accessing column with name

Error message

tried accessing column with name ({0}) that does not exist

What it means

Indicates a lookup for a column by name failed because no such column exists on the target table. The write buffer validates column names against the table's schema in the catalog. Commonly surfaced when deleting, reading, or altering columns that are not part of the schema.

Solutions

  1. List the table's actual columns (information_schema or SHOW COLUMNS) and correct the name
  2. Check casing — column names are case-sensitive
  3. Ensure the field/tag was actually written at least once so the column exists
  4. Update code/config referencing the old column name

Example fix

// before
buffer.delete_column(db, "cpu", "usage_user_old")
// after
buffer.delete_column(db, "cpu", "usage_user")  // existing column
Defensive patterns

Strategy: validation

Validate before calling

let cols = catalog.table_columns(db_name, table_name)?;
if !cols.contains(&column_name.to_string()) {
    // abort or create the column by writing data with that field
}

Type guard

fn is_column_missing(err: &WriteBufferError) -> bool {
    matches!(err, WriteBufferError::ColumnDoesNotExist(_))
}

Prevention

When it happens

Trigger: Accessing/deleting a column name that was never added to the table; referencing a tag/field name with wrong casing; operating against a table whose schema differs from what the caller expects.

Common situations: Schema drift between environments; renamed fields in the writer app without updating consumers; case-sensitivity mismatches (InfluxDB tags/fields are case-sensitive).

Understand the failure class

Background: "Not found" and "does not exist" errors: why "Task not found", "No such folder", and "Can't find" fire when a lookup comes back empty — this error's family across 14 libraries.

Related errors


AI-assisted analysis of influxdata/influxdb@06200ef96b (2026-09-19). Data as JSON: /api/errors/3b95c5f5b9646dac. Report an issue: GitHub.

Appendix: source

Thrown at influxdb3_write/src/write_buffer/mod.rs:125

    #[error("tried accessing database that does not exist")]
    DbDoesNotExist,

    #[error("tried creating database named '{0}' that already exists")]
    DatabaseExists(String),

    #[error("cannot write to soft-deleted database '{0}' - it is marked for deletion")]
    DatabaseDeleted(String),

    #[error("tried accessing table that do not exist")]
    TableDoesNotExist,

    #[error("table '{db_name}.{table_name}' already exists")]
    TableAlreadyExists {
        db_name: Arc<str>,
        table_name: Arc<str>,
    },

    #[error("tried accessing column with name ({0}) that does not exist")]
    ColumnDoesNotExist(String),

    #[error(
        "updating catalog on delete of last cache failed, you will need to delete the cache \
        again on server restart"
    )]
    DeleteLastCache(#[source] CatalogError),

    #[error("error from wal: {0}")]
    WalError(#[from] influxdb3_wal::Error),

    #[error("error in distinct value cache: {0}")]
    DistinctCacheError(#[from] distinct_cache::ProviderError),

    #[error("cannot write to a compactor-only server")]
    NoWriteInCompactorOnly,

    #[error("error: {0}")]

View on GitHub (pinned to 06200ef96b)