我通过以下方式从我的生产环境中每天进行转储:
pg_dump <database name> > dump_<date>.sql
然后我将其转移到登台并通过首先删除表来导入登台数据库:
drop schema public cascade;
create schema public;
然后执行以下操作:
psql <database name> < dump_<date>.sql
然而,似乎升级数据库每天变得越来越大。在这一点上,甚至在我放下桌子之后数据,DB文件夹中有150 gb的空间。
感觉像日志或元数据之类的东西堵塞了文件夹。
执行此操作的正确方法是什么,或者除了删除数据库并每次重新启动数据库之外,还有一种清理此额外数据的好方法。 谢谢!
答案 0 :(得分:1)
有一种更好的方法,一种更好的方式。
https://www.postgresql.org/docs/9.5/static/high-availability.html
数据库服务器可以协同工作以允许第二台服务器 如果主服务器出现故障(高可用性),或者快速过度 允许多台计算机提供相同的数据(负载平衡)。 理想情况下,数据库服务器可以无缝地协同工作。 Web服务器 服务静态网页可以很容易地组合起来 负载平衡Web请求到多台机器。实际上,只读 数据库服务器也可以相对容易地组合。不幸, 大多数数据库服务器具有读/写请求组合,以及 读/写服务器很难结合起来。这是因为虽然 只读数据需要在每个服务器上放置一次,写入 任何服务器都必须传播到所有服务器,以便将来读取 对这些服务器的请求会返回一致的结果。
现在,当您阅读文档时,它起初似乎非常令人生畏。但实际上,您需要做的就是对整个集群进行一次转储,并在postgresql.conf上启用WAL日志记录,然后您可以每天,每周或每月将WAL存档文件复制到另一台服务器。