【问题标题】:Is it possible to create partitioned table with 'create table as' in PostgreSQL?是否可以在 PostgreSQL 中使用“create table as”创建分区表?
【发布时间】:2022-01-07 12:28:50
【问题描述】:

我正在尝试按如下方式创建分区表:

create table archive.table1
   as table work1.table1 with no data
   partition by range (wk_date)

我收到以下错误:

SQL Error [42601]: ERROR: syntax error at or near "partition"
  Position: 98

【问题讨论】:

    标签: postgresql table-partitioning


    【解决方案1】:

    您可以运行以下命令,这更简单且有效:

    CREATE TABLE archive.table1 (LIKE work1.table1) PARTITION BY RANGE (wk_date);
    

    【讨论】:

    • 太棒了!!像魅力一样工作。我需要这个,因为我正在尝试使用动态查询自动化存档过程。非常感谢。
    【解决方案2】:

    不,这是不可能的。

    你需要先创建分区表,然后你需要创建分区。完成后,您可以发送insert into partitioned_table select * from old_table

    【讨论】:

    • 感谢您的回复。
    猜你喜欢
    • 2020-09-16
    • 2016-08-23
    • 2012-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-06
    • 1970-01-01
    相关资源
    最近更新 更多