如何将表划分为两列



表T1有列-app_id、start_time、end_time、value。我们有多个应用程序,希望通过app_id和start_time(每周分区)对表进行分区。这就是子分区应该看起来像的样子

T1_part1_2018 
app_id start_time end_time   value
1     10-10-2018  10-11-2018 garbage
T2_part2_2018 
app_id start_time end_time   value
2     10-10-2018  10-11-2018 garbage
T1_part1_2019
app_id start_time end_time   value
1     10-10-2019  10-11-2019 garbage
T2_part2_2019
app_id start_time end_time   value
2     10-10-2019  10-11-2019 garbage

我该如何完成这项工作?

我认为您正在寻找的是子分区机制:

  • https://www.postgresql.org/docs/current/ddl-partitioning.html
  • https://blog.dbi-services.com/postgresql-partitioning-8-sub-partitioning/

哪个分区必须是另一个分区的母亲也完全取决于您的需求:如果您从不需要请求多个app_id的数据,我建议将app_id作为母亲分区键。

编辑:这是pg_partman扩展项目页面:https://pgxn.org/dist/pg_partman/doc/pg_partman.html

相关内容

  • 没有找到相关文章

最新更新