问题标签 [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.
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 的数据库。
我看到很多用户都遇到了这个问题。在这方面的任何帮助将不胜感激。谢谢
postgresql - 创建 pg_partman 父表会生成错误`invalid input syntax for type bigint: "monthly"`
我第一次尝试使用 pg_partman 扩展,但无法创建父表。这是我的命令:
这会产生此错误:
我也尝试过daily
,quarterly
但它们返回相同的错误。
pg_partman:4.6.0 Postgres:12.9 Ubuntu:20.04.01
postgresql - 按租户 ID 和时间对 postgres 数据库进行分区
所以我有一个很像上面描述的数据库。这行得通,我可以按creation_time 对数据进行分区。
但理想情况下,我实际上希望有两个级别的分区。我想先分区tenant_id
,然后再分区creation_time
。
不幸的是,我还没有发现这很简单。
pg_partman 不支持按 uuid 进行分区。好吧,我可以提取 uuid 的低 4 个字节并将其用作分区键。
pg_partman 似乎不支持通过哈希进行分区,我相信这是管理它的理想方式(但我不确定)。
子分区的文档在 pg_partman 中有点不理想。
我想让诸如“删除此租户分区”或“删除日期早于 X 的分区”之类的操作变得容易,因此需要分层分区。
postgresql - 更改 pg_partman 中表的控制列
我有一个 postgres 表,我正在使用pg_partman扩展对其进行分区。我正在使用 A 列对表进行分区,但现在,我想将其更改为 B 列。partman 是否提供任何实用程序来执行此操作?如何根据新的控制列重新分区表?