【问题标题】:I want to create a partition table month wise only 12 tables for multiple years我想按月创建一个分区表,多年来只有 12 个表
【发布时间】:2023-02-17 05:43:30
【问题描述】:

我是表分区的新手,我想在此表的 inserted_on 列上按范围类型对表进行分区,每天插入约 40000 条记录

我尝试将分区表创建为: CREATE TABLE My.table_name_fy2022_01 PARTITION OF My.table_name FROM ('2022-01-01') TO ('2022-02-01');

但是这样我每年将不得不创建 12 个表,而我不想这样做。

我的问题是:- 如何创建一个分区表,例如 no。分区表只有 12(按月计算)并根据特定月份的分区存储数据。 例如:- 分区表六月 2022-06-20的记录插入六月, 2023-06-16的记录插入六月, 2024-06-10的记录插入六月, 等等

【问题讨论】:

  • 请显示示例输入和预期结果。
  • 如果要使用分区,请升级到 PostgreSQL v14。
  • 当您使用手册中的示例时会发生什么?

标签: postgresql partitioning postgresql-9.5 table-partitioning


【解决方案1】:

PARTITION BY HASH 应该像这样使用:

PARTITION BY HASH(MONTH(use_time)) PARTITIONS 12;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-02
    • 1970-01-01
    • 2020-12-24
    • 2020-04-15
    • 2021-01-14
    • 1970-01-01
    • 2014-05-15
    相关资源
    最近更新 更多