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

Ema*_*mam 4 database postgresql heroku

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

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

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

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

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

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

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

提前致谢

Igo*_*nko 6

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

其原因是其MVCC系统.每次UPDATE在数据库中记录时,它都会创建该记录的另一个"版本",而不是重写之前的记录.这个"过时"的记录将被VACUUM进程删除,而不需要它们.

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

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

PS你不需要担心它.Postgresql会VACUUM自动处理.