问题标签 [pg-partman]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
124 浏览

postgresql - 在 ubuntu 18 上使用 postgres 12 安装 pg_partman 和 pg_squeeze 时出错

我有一个专用的数据库服务器(ubuntu 18),它安装了 postgres 10,11 和 12。我目前正在使用 postgres 12。我正在尝试在 postgres 12 上安装 pg_partman 和 pg_squeeze 扩展。

我已经在 /etc/pg_parman 中下载了 git repo。当我运行命令时"sudo make",出现以下错误。

经过一番搜索,我发现这postgresql-server-dev-12是必需的,但是当我尝试安装这个包时,我得到了错误。

我也从“软件和更新”更改为从“主服务器”下载。我已经读过,如果我卸载所有 postgres 包然后再次安装它们,那么我可能能够下载 postgresql-server-dev-12。但我不想卸载 postgres 12,因为它也可能会删除大小超过 100GB 的数据库。

我看到很多用户都遇到了这个问题。在这方面的任何帮助将不胜感激。谢谢

0 投票
1 回答
82 浏览

postgresql - 创建 pg_partman 父表会生成错误`invalid input syntax for type bigint: "monthly"`

我第一次尝试使用 pg_partman 扩展,但无法创建父表。这是我的命令:

这会产生此错误:

我也尝试过dailyquarterly但它们返回相同的错误。

pg_partman:4.6.0 Postgres:12.9 Ubuntu:20.04.01

0 投票
0 回答
57 浏览

postgresql - 按租户 ID 和时间对 postgres 数据库进行分区

所以我有一个很像上面描述的数据库。这行得通,我可以按creation_time 对数据进行分区。

但理想情况下,我实际上希望有两个级别的分区。我想先分区tenant_id然后再分区creation_time

不幸的是,我还没有发现这很简单。

  1. pg_partman 不支持按 uuid 进行分区。好吧,我可以提取 uuid 的低 4 个字节并将其用作分区键。

  2. pg_partman 似乎不支持通过哈希进行分区,我相信这是管理它的理想方式(但我不确定)。

  3. 子分区的文档在 pg_partman 中有点不理想。

我想让诸如“删除此租户分区”或“删除日期早于 X 的分区”之类的操作变得容易,因此需要分层分区。

0 投票
0 回答
17 浏览

postgresql - 更改 pg_partman 中表的控制列

我有一个 postgres 表,我正在使用pg_partman扩展对其进行分区。我正在使用 A 列对表进行分区,但现在,我想将其更改为 B 列。partman 是否提供任何实用程序来执行此操作?如何根据新的控制列重新分区表?