我将地理空间Postgres 12.5数据库迁移到另一个云提供商。我使用postgis,我有大约35 8GB的数据和8GB的内存。
性能要比我以前的提供商差得多,而新的提供商声称这是因为pg缓存在夜间自动备份操作之后每天都要“热身”。
通常需要50 on的地理空间查询有时在第一次请求时需要5-10秒,有些在800 on内运行需要几分钟。
是否还有其他的东西在逼近,还是技术支持是对的?
如果是的话,我应该禁用每日备份吗?或者我可以以某种方式使用实用程序函数来恢复缓存?(pg_prewarm ?)
发布于 2021-02-26 16:17:47
如果您不想备份,那么一定要禁用它们。当然,这样你就不会有备份了。我们不能告诉你你的数据对你是否有价值。但是你为什么要付钱给别人来保存你不关心的数据呢?也许你可以关掉他们一天,看看这是否真的解决了问题。
我不认为pg_dump会做任何特殊的事情来将数据从缓存中清除出来。它确实访问了所有的表数据,但是PostgreSQL服务器有代码来防止对大型表的顺序扫描将所有其他数据从缓存中清除出来。这对于pg_dump来说应该和对其他任何东西一样有效。但是,如果您有大量的小型表,那么读取所有表的累积效果可能足以将其他所有内容从缓存中清除出来,因为我认为反antispoliation代码适用于每个表,而不是所有表的整体。
pg_prewarm当然是一种选择。另一个是cron作业,它每天早上都会运行这个查询。
https://dba.stackexchange.com/questions/286013
复制相似问题