# Disable auto-table create with ILP?

**URL:** <https://community.questdb.com/t/disable-auto-table-create-with-ilp/28>\
**Category:** Community\
**Tags:** config, question\
**Created:** [June 26, 2024, 5:57pm UTC](https://community.questdb.com/t/disable-auto-table-create-with-ilp/28 "2024-06-26T17:57:33Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![system](https://canada1.discourse-cdn.com/flex004/uploads/questdb/original/1X/b6b1b349e598d0550947e63d7923a9d7df0279eb.png) [@system](https://community.questdb.com/u/system)\
**Post date:** [June 26, 2024, 5:57pm UTC](https://community.questdb.com/t/disable-auto-table-create-with-ilp/28/1 "2024-06-26T17:57:33Z")

</div>

If I send data over ILP, QuestDB will automatically create a table if it does not exist. I want to disable this, as I want to make sure my tables are always created beforehand with the right structure (partitioning, deduplication, data types…) rather than with the guessed structure by the engine.

How can I do this?

---

<div class="post-metadata">

**Author:** ![nwoolmer](https://yyz2.discourse-cdn.com/flex004/user_avatar/community.questdb.com/nwoolmer/32/24_2.png) [@nwoolmer](https://community.questdb.com/u/nwoolmer)\
**Post date:** [June 26, 2024, 5:57pm UTC](https://community.questdb.com/t/disable-auto-table-create-with-ilp/28/2 "2024-06-26T17:57:50Z")

</div>

QuestDB supports a flag for this. It is undocumented, but since it is open source, [it can be found at the repository](https://github.com/questdb/questdb/blob/5040317b68094c5a1c40aa64d102e02805fe1530/core/src/main/java/io/questdb/PropertyKey.java#L416).

I just tried it out via env variable `QDB_LINE_AUTO_CREATE_NEW_TABLES = false`. If I try to send data via ILP I get

```auto
error in line 1: table: trades; table does not exist, creating new tables is disabled

```

There is also a similar flag to avoid auto column creation.

If using QuestDB Cloud or QuestDB Enterprise, [ACLs](https://questdb.io/docs/operations/rbac/#database-permissions) could be used so users or service accounts with the `ILP` grant don’t have permissions to `CREATE TABLE` or `ADD COLUMN`.
