最近我创建了一个新的Heroku应用程序用于生产,并使用我从登台数据库中获取的备份填充了它的数据库.
问题是数据库大小,如Heroku的Postgres网页上显示的两个数据库不同!
我从中获取备份的第一个数据库是360 MB,填充的新数据库只有290 MB.
备份/加载过程中没有出现错误.从两个数据库中获取备份会导致相同的备份文件大小(大约40 MB).
该项目工作正常,两个应用程序看起来完全相同,但我担心我可能丢失了一些将来会引起麻烦的数据.
更多信息:我在两个应用程序上使用相同的生产数据库计划.
此外,第一个数据库没有附加到第一个实例(因为它是从Postgres管理页面添加的,而不是从App的资源页面添加的),并且新数据库附加到新的App.
提前致谢
解决方法
postgresql DB在使用时可以消耗更多空间.
其原因是其MVCC系统.每次更新数据库中的任何记录时,它都会创建此记录的另一个“版本”,而不是重写前一个记录.当VACUUM流程不需要时,这些“过时”的记录将被删除.
因此,当您从备份恢复数据库时,它没有任何“死”记录,并且其大小较小.
详情请见http://www.postgresql.org/docs/current/static/mvcc.html和http://www.postgresql.org/docs/current/static/sql-vacuum.html.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。