PostgreSQL是否支持表(片段)的透明压缩?

PostgreSQL是否支持表(片段)的透明压缩?,postgresql,compression,storage,Postgresql,Compression,Storage,我将在分段的PostgreSQL表(每天的表)中存储大量数据(日志)。我想压缩其中的一些以节省光盘上的空间,但我不想失去以通常方式查询它们的能力 PostgreSQL支持这种透明的压缩吗?我在哪里可以更详细地了解它?我认为这样一个功能应该有一个众所周知的神奇名字。可能不是你想的,但仍然是有用的信息-优秀手册。本节值得进一步注意 是的,当PostgreSQL超过一定大小时,它会自动为您执行此操作。但压缩应用于每个单独的数据值,而不是整个表级别。这意味着,如果有十亿行非常窄,它们就不会被压缩。或者,

我将在分段的PostgreSQL表(每天的表)中存储大量数据(日志)。我想压缩其中的一些以节省光盘上的空间,但我不想失去以通常方式查询它们的能力


PostgreSQL支持这种透明的压缩吗?我在哪里可以更详细地了解它?我认为这样一个功能应该有一个众所周知的神奇名字。

可能不是你想的,但仍然是有用的信息-优秀手册。本节值得进一步注意

是的,当PostgreSQL超过一定大小时,它会自动为您执行此操作。但压缩应用于每个单独的数据值,而不是整个表级别。这意味着,如果有十亿行非常窄,它们就不会被压缩。或者,如果有很多列,每个列中只有一个很小的值,它们就不会被压缩。有关此计划的详细信息,请参阅


如果您需要在完整表级别使用它,一个解决方案是为您想要压缩的表创建一个表空间,并将其指向一个压缩的文件系统。只要文件系统仍然遵循fsync()和标准POSIX语义,这应该是完全安全的。有关这方面的详细信息,请参见。

也不是您特别要求的,但可能对大型数据集有所帮助的是,PostgreSQL支持表继承,允许您对数据进行分区,例如按日期范围进行分区。或者其他逻辑,回答得很好。很有洞察力。非常简洁。谢谢你。