我正在尝试将数据迁移到 QuestDB 并插入历史记录,我将表创建为
create table records(
type INT,
interval INT,
timestamp TIMESTAMP,
name STRING) timestamp(timestamp)
并通过JDBC 插入数据。
一、问题详情
我收到错误“无法乱序插入行”。我读到 QuestDB 支持乱序,但不知何故我无法让它工作。
Caused by: org.postgresql.util.PSQLException: ERROR: Cannot insert rows out of order. Table=/root/.questdb/db/dwd_robot_running_data
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2674)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2364)
... 19 more
二、问题原因
只能在分区表上乱序插入行,创建新的分区表并将数据复制到其中
三、解决方案
建表时添加分区
create table records2(
type INT,
interval INT,
timestamp TIMESTAMP,
name STRING
)
timestamp(timestamp) partition by DAY
insert into records2
select * from records
drop table records
rename table records2 to records
在此之后,就可以将乱序插入到表记录中