FAQ
The following document contains common hardware and software configuration issues met when running QuestDB, as well as solutions to them.
#
How do I delete a row?See our guide on modifying data.
STRING
column to a SYMBOL
or vice versa?#
How do I convert a The SQL UPDATE
keyword can be used to change the data type of a column. The
same approach can also be used to increase the
capacity of a SYMBOL
column that is
undersized.
The steps are as follows:
- Add a new column to the table and define the desired data type.
- Stop data ingestion and increase
SQL query timeout,
query.timeout.sec
, asUPDATE
may take a while to complete. Depending on the size of the column, we recommend to increase the value significantly: the default is 60 seconds and it may be reasonable to increase it to one hour. Restart the instance after changing the configuration, to activate the change. - Use
UPDATE
to copy the existing column content to the new column. Now, the column has the correct content with the new data type. - Delete the old column.
- Rename the new column accordingly. For example, to change
old_col
fromSTRING
toSYMBOL
for tablemy_table
:
table busy
error messages when inserting data over PostgreSQL wire protocol?#
Why do I get You may get table busy [reason=insert]
or similar errors when running INSERT
statements concurrently on the same table. This means that the table is locked
by inserts issued from another SQL connection or other client protocols for data
import, like ILP over TCP or CSV over HTTP. To reduce the chances of getting
this error, try using auto-commit to keep the transaction as short as possible.
We're also considering adding automatic insert retries on the database side, but for now, it is safe to handle this error on the client side and retry the insert.
could not open read-write
messages when creating a table or inserting rows?#
Why do I see Log messages may appear like the following:
The machine may have insufficient limits for the maximum number of open files.
Try checking the ulimit
value on your machine. Refer to
capacity planning page
for more details.
errno=12
mmap messages in the server logs?#
Why do I see Log messages may appear like the following:
The machine may have insufficient limits of memory map areas a process may have.
Try checking and increasing the vm.max_map_count
value on your machine. Refer
to
capacity planning
page for more details.
#
How do I avoid duplicate rows with identical fields?We have an open
feature request to optionally de-duplicate rows
inserted with identical fields. Until then, you need to
modify the data after it's inserted and use a
GROUP BY
query to identify duplicates.