是否可以在写保护的文件系统上运行 Postgres?还是共享文件系统?

use*_*325 5 postgresql parallel-processing distributed-computing

我正在尝试建立一个分布式处理环境,所有数据都位于一个共享网络驱动器中。我不会向它写入任何内容,只是读取它,因此我们也在考虑对网络驱动器进行写保护。

我记得当我使用 MSSQL 时,我可以将数据库备份到 DVD 并将其作为只读数据库直接加载。

如果我可以在 Postgres 中做这样的事情,我应该能够给它一个像只读 DVD 一样的抽象,一切都会好起来的。

在 Postgres 中是否有可能发生这样的事情,如果没有,还有其他选择吗?(MySQL?sqlite 甚至?)

或者,如果这是不可能的,是否有某种方法可以指定共享文件系统?(让它知道其他进程也在读取它?)

由于各种原因,使用并行 dbms 是不可能的,我需要两个并行运行的 DB 进程......

任何帮助是极大的赞赏。谢谢!!

dbe*_*hur 0

我从未尝试过,但如果您的所有使用确实是只读的,则可以使用主要位于 RO 文件系统上的数据目录来运行 postgres。您需要确保禁用自动清理。我认为即使读取活动也可能会生成 xlog 突变,因此您可能必须将pg_xlog目录符号链接到可写文件系统上。有时,出于大型排序或其他临时要求,读取查询会溢出到磁盘,因此您还应该链接base/pgsql_tmp到可写磁盘区域。

正如理查德指出的那样,数据堆中存在可见性提示位。可能想VACUUM FULL FREEZE ANALYZE在将数据库放入 RO 文件系统之前先尝试一下。