我想将我的postgres data文件夹移动到一个NFS驱动器,但我不知道什么是最好的办法做到这一点。 我有三个select:
根据Postgres文档 ,一种方法是使用带有-D选项的initdb命令。
initdb不存在,initdb将尝试创build你指定的目录。
LinuxQuestions.org上列出的另一种方法是更新postgressql init脚本以指向新的目录,在这种情况下,它将是NFS驱动器。
最后,我想我只是将pgsql/data文件夹复制到NFS驱动器,并简单地符号链接文件夹。
即, pgsql/data -> nfs/data
Symlinking或更新初始化脚本似乎是对我来说最简单的方法,但我不知道如果他们会是最好的或最安全的方式。 这是我希望有人能帮助我的地方。 任何build议,关注,利弊将不胜感激。
环境信息
假定使用-maproot=root选项挂载NFS驱动器,并且root用户将访问NFS驱动器。
您可以简单地closuresPostgres,移动文件夹并将init脚本更改为指向数据目录的正确位置。 在重新启动服务器之前,请仔细检查data/下的configuration文件以获取对旧path的引用。
你可能不想这样做。 真。 这是一个坏主意。
NFS的其他名称是networking故障系统。 它的可靠性并不为人所知,让底层的文件系统在不合时宜的情况下(例如,在追加WAL时)就可能毁了你的一天,更别说你的数据库了。 请记住,Postgres对于NFS没有什么特别之处 ,如果出现意想不到的情况,它会吓坏了(见Postgres手册17.2.1 )。
也许如果你描述你试图解决的根本问题(问一个新的问题),我们可以帮助你以较低风险的方式来做到这一点?