繁体   English   中英

PostgreSQL initdb-目录不为空

[英]postgresql initdb - directory not empty

我正在ubuntu lucid服务器上安装postgres 8.4(否,目前,我们在该服务器上使用的是“ lucid” LTS版本,因此尚无法升级(尽管我们现在将很快开始在精确的位置上测试系统) ))

我已经使用ext4文件系统为/var/lib/postgresql/8.4/main目录设置了自己的分区。 (真正从事postgres安装的人们知道现在发生了什么...)由于ext4在所有文件系统的根目录中都放置了一个lost + found目录,因此postgres不会将该目录用作其数据目录,因为它最初是不是空的...

initdb:目录“ /var/lib/postgresql/8.4/main”存在但不为空如果要创建新的数据库系统,请删除或清空目录“ /var/lib/postgresql/8.4/main”或运行initdb,其参数不是“ /var/lib/postgresql/8.4/main”。

最简单的方法是在initdb完成其工作后,删除丢失的内容并重新创建它。 -可能会引起任何问题吗? 丢失+找到的内容是否具有任何特殊属性或任何使其无法重新创建的内容,并且是否需要其他时间(如果checkdisk找到需要放置的内容)?

另一种方法是卸载... / main /文件系统,初始化数据库,将... / main /文件系统临时安装在其他位置,将内容移到那里并将其安装到位。 似乎比“最简单的方法”还需要更多的工作。

还是通过某种方式使initdb忽略目录不为空? (为此看不到任何命令行开关)

可能在postgres主目录中丢失+找到的目录引起任何问题吗?

目前,我正在虚拟机上运行系统以进行测试,因此,如果我弄乱了事情并没有关系,但是在将其作为正式安装任务关键型系统的正式方法之前,最好先安装一些关于这个的想法。

lost+found具有预先分配的块,当分区缺少可用块时,fsck可以更轻松地将数据移入其中。 要创建它,最好使用mklost+found命令而不是mkdir

如果您不重新创建它,则fsck会在需要时执行它。

但是,如果到了fsck在PGDATA中发现损坏的地步,我会考虑进行备份,而不是依靠lost+found来检索任何内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM