微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Heroku上备份/加载后,PostgreSQL数据库大小较少

最近我创建了一个新的Heroku应用程序用于生产,并使用我从登台数据库获取的备份填充了它的数据库.

问题是数据库大小,如Heroku的Postgres网页上显示的两个数据库不同!

我从中获取备份的第一个数据库是360 MB,填充的新数据库只有290 MB.

备份/加载过程中没有出现错误.从两个数据库获取备份会导致相同的备份文件大小(大约40 MB).

该项目工作正常,两个应用程序看起来完全相同,但我担心我可能丢失了一些将来会引起麻烦的数据.

更多信息:我在两个应用程序上使用相同的生产数据库计划.

此外,第一个数据库没有附加到第一个实例(因为它是从Postgres管理页面添加的,而不是从App的资源页面添加的),并且新数据库附加到新的App.

提前致谢

解决方法

postgresql DB在使用时可以消耗更多空间.

其原因是其MVCC系统.每次更新数据库中的任何记录时,它都会创建此记录的另一个“版本”,而不是重写前一个记录.当VACUUM流程不需要时,这些“过时”的记录将被删除.

因此,当您从备份恢复数据库时,它没有任何“死”记录,并且其大小较小.

详情请见http://www.postgresql.org/docs/current/static/mvcc.htmlhttp://www.postgresql.org/docs/current/static/sql-vacuum.html.

附:你不必担心它. Postgresql自动处理VACUUM.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐