我不是DBA,但我使用postgresql作为生产服务器,我使用postgresql 10数据库。我正在使用Bigsql,我开始将我的生产服务器复制到其他服务器,在复制服务器上,一切都在工作,但是在我的生产服务器上,它们已经没有空间了。在我的生产服务器上的du命令之后,我得到了这个pg_wal
文件夹,它有17 gb文件,每个文件都有16 mb大小。
在google搜索之后,我将我的postgresql.conf文件更改为:
wal_level = logical
archive_mode = on
archive_command = 'cp -i %p /etc/bigsql/data/pg10/pg_wal/archive_status/%f'
我从Bigsql安装postgresql 10,并进行了上述更改。
更改后,dir /pg_wal/archive_status有16 gb的日志。因此,我的问题是,我应该手动删除它们,还是要等待系统自动删除它们。如果我把archive_mode写到on上,那么wal文件应该自动删除吗??
谢谢你宝贵的时间。
发布于 2017-11-19 16:52:59
这取决于您如何进行备份,以及是否需要将数据库恢复到某个时间点。
只有完全脱机文件系统备份(离线意味着数据库关闭)或使用pg_dumpall的在线逻辑备份才不需要这些文件进行还原。
您需要这些文件来恢复数据库运行时创建的文件系统备份。没有它们,备份将无法恢复。尽管存在自动复制所需WAL文件的备份解决方案(如酒保)。
如果您的副本数据库由于某种原因将落后于主数据库,您还需要这些文件。或者你需要把数据库恢复到过去的某个时间点。
但是这些文件压缩得很好-压缩后应该小于10% -您可以编写您的archive_command来自动压缩它们,而不仅仅是复制。
最后你应该把它们从档案里删除。我建议不要删除它们,直到它们至少有一个月的历史,并且至少有两个完整的成功备份是在创建之后完成的。
https://stackoverflow.com/questions/47375686
复制相似问题