Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database PostgreSQL上分区表的pg_partman扩展_Database_Postgresql_Partitioning - Fatal编程技术网

Database PostgreSQL上分区表的pg_partman扩展

Database PostgreSQL上分区表的pg_partman扩展,database,postgresql,partitioning,Database,Postgresql,Partitioning,这是我在这里的第一个问题,我已经读了很多年了,所以请对我好一点 我正在将我的数据库从MySQL迁移到PostgreSQL。我的MySQL数据库中有一些表可能包含大量数据,我使用MySQL根据时间戳进行分区 我发现PostgreSQL分区的配置和维护并不是那么简单。 建议在中使用。 但是pg_partman只在stackoverflow的回答中提到 在将此扩展用于我的项目之前,或者在PostgreSQL中是否有其他推荐的实现分区(或某种)的方法之前,我想了解更多关于此扩展的用法和稳定性的信息。pg

这是我在这里的第一个问题,我已经读了很多年了,所以请对我好一点

我正在将我的数据库从MySQL迁移到PostgreSQL。我的MySQL数据库中有一些表可能包含大量数据,我使用MySQL根据时间戳进行分区

我发现PostgreSQL分区的配置和维护并不是那么简单。 建议在中使用。 但是pg_partman只在stackoverflow的回答中提到


在将此扩展用于我的项目之前,或者在PostgreSQL中是否有其他推荐的实现分区(或某种)的方法之前,我想了解更多关于此扩展的用法和稳定性的信息。

pg_partman在需要分区时工作得很好。但是你真的需要它吗?一个大表有多少条记录?我使用分区有两个原因:1.在某些环境中有大量数据(根据配置的设置有数百万条或更多记录)2。删除旧记录而不长时间锁定表。对于“数百万行”来说,分区通常不是真正必要的-好的索引会让你走很长的路。当您运行
delete
时,表根本不会被锁定。您可以毫无问题地继续选择、插入和更新该表中的行(只要您不同时插入或更新要删除的PK值)。记录将根据时间戳列删除,它是PKs的一部分。我们按月分区,每月大约有5亿条记录。对于几百万条记录,我不会使用分区。当我们删除数据时,我们会删除整个表分区,不需要删除或截断。