直接备份和还原postgresql数据文件夹

时间:2018-09-18 13:38:38

标签: postgresql docker

到目前为止,我一直在使用pg_dump备份postgresql数据,该数据将数据导出到sql文件mydb.sql,然后使用psql -U user -d db < mydb.sql从该sql文件还原。 / p>

出于某种原因,在psql不存在的环境中更直接地还原数据库内容会更方便...特别是在运行PostgreSQL容器的Docker服务器上运行的主机服务器上在主机上,但不在主机本身上。

我的计划是将/var/lib/postgresql/data/的内容备份到tar文件中,并且在需要时(例如,当创建一个新的托管postgresql容器的服务器时)将其还原到相同的路径。 docker容器中的文件夹/var/lib/postgresql/data/映射到主机服务器上的文件夹,因此我将在主机上创建此备份,而不是在postgres容器中创建

这是有效的方法吗?任何“陷阱”? /var/lib/postgresql/data/中是否有我可以从tar文件中排除的子文件夹?我不想仅备份“客房整理”信息。

1 个答案:

答案 0 :(得分:1)

您可以这样做,但是如果您不希望数据库损坏,则必须正确地进行操作。

要么在复制数据目录之前停止PostgreSQL,要么按照the documentation中的说明进行在线备份。