是的,如果您想每天创建一个新的分区表并写入数据,那么就不能使用UPSERT的方式了。因为UPSERT操作只能对已经存在的分区进行更新或插入操作,而不能动态地创建新的分区。
针对您的需求,可以考虑以下两种方式:
- 使用INSERT INTO语句将数据写入到新分区中。在Hologres中,可以使用ALTER TABLE语句来添加新的分区。例如,您可以先创建一个包含所有分区的表,然后根据需要动态地添加新的分区。具体语法如下:
-- 创建包含所有分区的表
CREATE TABLE my_table (...) PARTITION BY partition_column;
-- 添加新的分区
ALTER TABLE my_table ADD PARTITION (partition_column='new_value');
-- 将数据写入到新分区中
INSERT INTO my_table VALUES (...);
- 使用Hologres的数据管道功能,将数据从上游业务库实时同步到Hologres中。在数据管道中,您可以配置定时任务来每天运行一次同步任务,并将数据写入到指定的分区表中。具体步骤可以参考Hologres官方文档中的“数据管道”章节。