为什么无法创建分区表

2023-12-23

我正在尝试创建带有分区的简单表。

这是我的命令:

CREATE TABLE measurement (
    city_id         int not null,
    logdate         date not null,
    peaktemp        int,
    unitsales       int
) PARTITION BY RANGE (logdate);

这是我得到的错误:

SQL 错误 [42601]:错误:“PARTITION”处或附近的语法错误

无法理解是问题所在..

我正在使用 PostgreSQL 9.6.3


“声明式表分区”,即使用自己的语法将分区作为 DBMS 的一流功能PostgreSQL 10 中添加 https://www.postgresql.org/docs/current/static/release-10.html.

在早期版本中,您可以使用“表继承”花费更多的努力来实现相同的效果。有手册中的一页描述了如何手动执行此操作 https://www.postgresql.org/docs/9.6/static/ddl-partitioning.html,总结为:

  1. 创建“主”表,所有分区都将从该表继承。
  2. 创建多个“子”表,每个子表都继承自主表。
  3. 向分区表添加表约束以定义每个分区中允许的键值。
  4. 对于每个分区,在键列上创建一个索引,以及您可能需要的任何其他索引。
  5. (可选)定义触发器或规则以将插入主表的数据重定向到适当的分区。
  6. 确保postgresql.conf 中的constraint_exclusion 配置参数未禁用。如果是,查询将不会根据需要进行优化。

为了使这更容易,如果您无法升级到版本 10,您可以使用扩展,例如pg_partman https://pgxn.org/dist/pg_partman/它为您提供了用于设置和管理分区集的附加功能。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么无法创建分区表 的相关文章

  • Postgres where 子句比较时间戳

    我有一个表 其中列的数据类型timestamp 其中包含一天的多条记录 我想选择与日期对应的所有行 我该怎么做 Assuming you actually mean timestamp because there is no datetim
  • 按每月时间为用户标记标签

    数据源 User ID Visit Date 1 2020 01 01 12 29 15 1 2020 01 02 12 30 11 1 2020 04 01 12 31 01 2 2020 05 01 12 31 14 Problem 我
  • 随机数据库与 AWS 中的 Django 和 Postgresql 断开连接

    我试图找出 Django 和数据库连接错误问题的根源 此时 我正在调试提示 因为我认为症状太不具体 一些背景 我一直在使用这个堆栈 在 AWS 中部署了很多年 没有出现任何问题 Ubuntu 在本例中为 20 04 LTS Nginx Uw
  • PostgreSQL 仅当列存在时才重命名该列

    我在中找不到PostgreSQL 文档 https www postgresql org docs 12 sql altertable html如果有办法运行 ALTER TABLE tablename RENAME COLUMN IF E
  • 优化 LATERAL join 中的慢速聚合

    在我的 PostgreSQL 9 6 2 数据库中 我有一个查询 该查询根据一些股票数据构建计算字段表 它为表中的每一行计算 1 到 10 年的移动平均窗口 并将其用于周期性调整 具体来说 CAPE CAPB CAPC CAPS 和 CAP
  • PostgreSQL:使用for循环迭代表行,根据当前行检索列值

    我有以下2张表 CREATE TABLE salesperson t salespersonid numeric 4 0 NOT NULL salespersonname character varying 25 salespersonte
  • PostgreSQL 在递归查询中找到所有可能的组合(排列)

    输入是一个长度为 n 的数组 我需要生成数组元素的所有可能组合 包括输入数组中元素较少的所有组合 IN j A B C OUT k A AB AC ABC ACB B BA BC BAC BCA 随着重复 所以AB BA 我尝试过这样的事情
  • 如何计算 Postgres 上图表中所有连接的节点(行)?

    我的桌子有account id and device id One account id可以有多个device ids 反之亦然 我正在尝试计算每个连接的多对多关系的深度 Ex account id device id 1 10 1 11
  • pg_dump 没有对象注释?

    有没有办法执行 pg dump 并排除表 视图和列的 COMMENT ON 我广泛使用 COMMENT ON 命令来描述所有对象 并且经常在其中包含换行符以获得更清晰的描述 例如 COMMENT ON TABLE mytable1 IS M
  • 如何引用下一行的数据?

    我正在 PostgreSQL 9 2 中编写一个函数 对于股票价格和日期的表 我想计算每个条目较前一天的百分比变化 对于最早一天的数据 不会有前一天 因此该条目可以简单地为 Nil 我知道WITH声明可能不应该高于IF陈述 到目前为止 这就
  • 如何存储没有年份部分的生日?

    类似问题 Postgres 生日选择 https stackoverflow com questions 6913719 postgres birthdays selection 我们正在设计一项新功能 我们将存储人们生日的月份和日期部分
  • 错误关系不存在

    我得到了 error relation causes does not exist 我的节点应用程序出现错误 这种关系确实存在 我不确定问题出在哪里 我创建了该表 CREATE TABLE causes cause id bigint NO
  • 使用 NLog .NET Core 将日志记录到 PostgreSQL DB

    我尝试将日志记录集成到 NET Core 中的数据库 我能够设置 NLog 并将消息记录到 SQL Server 这很容易 但是当我尝试将 DB 切换到 PostgreSQL 时 似乎没有记录任何内容 以下是startup cs中的代码 p
  • 带有可变 WHERE 子句的批量 UPDATE 表

    我有一堆值对 foo1 bar1 foo2 bar2 我想做一堆更新 将 foo 列设置为 foo1 其中 bar 列为 bar1 我正在使用 psycopg2 在 Python 中执行此操作 我可以executemany与查询UPDATE
  • postgresql:插入...(选择*...)

    我不确定它是否是标准 SQL INSERT INTO tblA SELECT id time FROM tblB WHERE time gt 1000 我正在寻找的是 如果 tblA 和 tblB 位于不同的数据库服务器中怎么办 Postg
  • 如何加速spark df.write jdbc到postgres数据库?

    我是 Spark 新手 正在尝试使用 df write 加速将数据帧的内容 可以有 200k 到 2M 行 附加到 postgres 数据库 df write format jdbc options url psql url spark d
  • Django 模型:默认日期时间未转换为 SQL CURRENT_TIMESTAMP

    我正在使用 Django 模型创建 PostgreSQL DB 我有一个 DateTimeField 我想将当前时间戳设置为默认值 我知道有多个消息来源建议如何做到这一点 但是 当我在 Django 之外检查数据库时 默认时间戳不会显示 我
  • PostgreSQL 错误 42501:架构权限被拒绝

    我正在 ASP NET 中构建一个用户注册系统 使用 PostgreSQL 数据库来维护用户信息 作为注册过程的一部分 用户会收到一条确认消息 他们必须单击其中的链接来验证其电子邮件地址 然后 他们将进入一个可以创建密码的页面 一旦用户提供
  • 将DataTable批量插入postgreSQL表中

    在 SQL 中 我们执行类似的操作来批量插入数据表 SqlBulkCopy copy new SqlBulkCopy sqlCon copy DestinationTableName strDestinationTable copy Wri
  • SELECT 在 PL/pgSQL 函数中引发异常

    我想在函数内实现循环 但收到此错误 ERROR 查询没有结果数据的目标 代码 CREATE OR REPLACE FUNCTION my function ill int ndx bigint RETURNS int AS DECLARE

随机推荐

  • 进口和依赖

    我读过两篇最近讨论依赖和导入的帖子 2 14 0 即将到来的命名空间 依赖 导入更改 请一些定义 使用 https stackoverflow com questions 7880355 upcoming namespace depends
  • Python从内存中运行exe[重复]

    这个问题在这里已经有答案了 exe requests get url content run exe subprocess run exe shell True stdout subprocess PIPE stderr subproces
  • 将当前更改放入新的 Git 分支中 [重复]

    这个问题在这里已经有答案了 我一直在主分支上编辑一些模块 但尚未提交它们 我现在认为这些更改实际上应该发生在实验分支上 而不是主分支上 如何将这些编辑放入实验分支中 将它们复制到某个临时位置 创建分支 然后将它们复制回来 我该如何配置 以便
  • Angular JS 路由不起作用

    index html 看起来像
  • 为 Linux 创建可移植的 Python(本地安装)

    我正在寻找创建以下内容 一个可移植版本的 python 可以在任何系统上运行 安装任何以前版本的 python 或未安装 python 并预先配置了各种 python 包 即 django lxml pysqlite 等 我发现最接近上面的
  • 无法解析来自根提供程序的范围服务。 ASP.NET MVC 应用程序

    我正在使用 Adam Freeman 的 Pro ASP NET Core MVC 6th Edition 制作商店应用程序 书中的例子是用Core 1 0做的 我用的是Core 3 0 在尝试将数据播种到我的数据库 entityFrame
  • github:没有可用的受支持的身份验证方法

    我使用 github 并在过去在我的笔记本电脑上成功添加和同步了文件 最近我开始得到 PuTTY 致命错误 已断开连接 没有可用的支持的身份验证方法 运行后 git pull origin master 或push however ssh
  • 如何阻止html模板转义

    我有一个 html 模板 我想在其中插入一些模板本身外部的 JavaScript 代码 在我的模板数据结构中 我创建了一个字符串字段JS string并调用它 JS 问题是浏览器中的所有内容都被转义了 换行符是 n lt and gt ar
  • 真正的 MVVM 和第三方控件

    在 True MVVM 模型中 我们不期望 xaml cs 中隐藏任何代码 也不期望 viewModel 具有视图引用 然而 所有第三方控件都不能为 True MVVM 提供良好的支持 就我而言 我使用 Infragistics xamDa
  • C/C++ 中的可变参数函数和参数赋值

    我想知道在 C C 语言中是否可以以键值形式将参数传递给函数 例如在 python 中你可以这样做 def some function arg0 default value arg1 value1 passed value some fun
  • 动态向groovy中的对象添加属性或方法

    是否可以在 Groovy 中动态向对象添加属性或方法 这是我到目前为止所尝试过的 class Greet def name Greet who name who 0 toUpperCase 1 1 def salute println He
  • 显示文件夹中的图像(幻灯片)

    我一直在尝试谷歌搜索并找出如何制作一个 php 脚本 该脚本将自动制作文件夹中图像的幻灯片 我只设法让图片自动显示在 php 页面上 但我可以不知道如何让它们一张一张地滑动 就像幻灯片一样 Here http iseeit no page
  • HTML5 表单验证的条件规则

    我想知道是否可以根据其他元素状态设置 必需 元素 例如 假设我有一个输入元素 当且仅当用户选中特定复选框时 我希望该元素成为 必需 首先 这是否可以在不使用 JavaScript 的情况下完成 其次 如果我们使用 JavaScript 如果
  • tcl lsearch 在列表列表中

    Tcl中有一个list列表 set somelist aaa 1 bbb 2 ccc 1 如何搜索列表中第一项是 bbb 的元素 我尝试了这种方法 但它不起作用 lsearch somelist bbb Thanks Use index 它
  • 具有对象类型支持的 .Net 第三方 Oracle 提供程序

    我正在寻找完全支持 Oracle 对象类型 如几何图形 的第三方 Oracle Data Provider for Net ADO NET 我愚蠢地使用了 ODP NET 现在我付出了代价 它有令人难以置信的错误 我刚刚到达终点 继续崩溃
  • Python 对象的可选链接:foo?.bar?.baz

    在 JavaScript 中 如果我不确定链中的每个元素是否存在 不是未定义 我可以这样做foo bar 而如果bar不存在于foo 解释器会默默地将其短路并且不会抛出错误 Python中有类似的东西吗 现在 我一直这样做 if foo a
  • 尝试在 vscode powershell 终端中使用命令 git init 但出现错误: git : The term 'git' is not recognize as the name of a cmdlet

    我正在尝试使用该命令git init 但是 我收到此错误 git The term git is not recognized as the name of a cmdlet function script file or operable
  • Azure Functions - 无法加载文件或程序集“Microsoft.WindowsAzure.Storage”

    即使我在 project json 文件中指定了依赖项 我有一个天蓝色函数也会抛出以下错误 无法加载文件或程序集 Microsoft WindowsAzure Storage Version 8 1 1 0 Culture neutral
  • 具有多个参数的 PostgreSQL 聚合

    我一直在尝试在 PostgreSQL 8 4 或 9 1 中创建接受一个或多个选项参数的聚合 一个例子是创建一个PL R计算第 p 个分位数的扩展 其中0 lt p lt 1 这看起来像quantile x p 并作为查询的一部分 sele
  • 为什么无法创建分区表

    我正在尝试创建带有分区的简单表 这是我的命令 CREATE TABLE measurement city id int not null logdate date not null peaktemp int unitsales int PA