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

发布于 2024-08-03 14:49:24 字数 152 浏览 1 评论 0原文

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

PostgreSQL 是否支持这种透明压缩?我在哪里可以阅读有关它的更多详细信息?我想这样的功能应该有一个众所周知的神奇名字。

I'm going to store large amount of data (logs) in fragmented PostgreSQL tables (table per day). I would like to compress some of them to save some space on my discs, but I don't want to lose the ability to query them in the usual manner.

Does PostgreSQL support such a transparent compression and where can I read about it in more detail? I think there should be some well-known magic name for such a feature.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

昇り龍 2024-08-10 14:49:24

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

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

Yes, PostgreSQL will do this automatically for you when they go above a certain size. Compression is applied at each individual data value though - not at the full table level. Meaning that if you have a billion rows that are very narrow, they won't get compressed. Or if you have very many columns each with only a small value in it, they won't get compressed. Details about this scheme in the manual.

If you need it on the full table level, a solution is to create a TABLESPACE for those tables that you want compressed, and point it to a compressed filesystem. As long as the filesystem still obeys fsync() and standard POSIX semantics, this should be perfectly safe. Details about this in the manual.

漫漫岁月 2024-08-10 14:49:24

可能不是您想要的,但仍然有用的信息 - 第 53 章. 数据库物理存储< /a> 的精美手册。 TOAST 部分值得进一步关注。

Probably not what you have in mind but still useful info - Chapter 53. Database Physical Storage of the fine manual. The TOAST section warrants further attention.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文