当数据库本身驻留在 Windows 服务器上时,如何在 Linux 上使用 Postgres?

当数据库本身驻留在 Windows 服务器上时,如何在 Linux 上使用 Postgres?

我在 Windows 主机上使用 Oracle VirtualBox。Windows 主机有一个常规的 Windows 文件共享。我想使用此文件夹进行存储(Postgres 数据库)。

我知道如何创建 Windows 文件共享。我知道如何安装 Linux 中的文件系统。如何在 Linux 中安装 Windows 文件共享支持的常规文件系统?

我可以在 Linux 客户机和 Windows 主机之间交互使用 smb 提示符。但我不知道如何对 Windows 共享上的文件进行常规 Linux 操作。我只知道如何使用 smb 客户端。这些交互式命令最初需要特殊的 smb 命令。

我在 Linux 客户机上安装了 Postgres。我想将 Postgres 数据库文件存储在 Windows 共享上。我的 Linux 服务器上没有存储容量。

vboxsf 不支持设置 Postgres 所需的文件夹权限。根据我的经验,Postgres 数据目录不能位于 vboxsf 文件共享上。我的 Linux 客户机是 Centos 7.3,没有 GUI。我该怎么做才能在没有交互式提示的情况下使用 Samba,或者以其他方式将 Postgres 数据库放在 Windows 文件共享上?可能存在 Samba 和 Oracle VirtualBox 技术之外的解决方案(例如 vboxsf)。

我已成功配置 Windows 主机和 Linux 客户机之间的网络操作。

澄清一下,我的目标是让几 GB 的 Postgres 数据库驻留在 Windows 服务器上,并通过 Linux 服务器运行。Linux 服务器上将安装 Postgres。Postgres 数据库不需要与 Windows 服务器一起工作。Postgres 数据库不能位于 Linux 服务器上。

我应该怎么办?

答案1

这种技术组合并不是一个好主意。参见https://www.postgresql.org/message-id/54F7F625.6020907%40hogranch.com- 特别是因为数据库并不小。

如果你要这样做,请将 Windows 共享挂载到 /var/lib/pgsql/xx/data (其中 xx 是 Postgres 的版本

您有几个设置挂载的选项 - 确保安装了 smb-utils 并修改 /etc/fstab

您可能想考虑像 NFS 这样的替代方案 - 或者更好的方案(我不使用 Virtualbox,所以不知道它有多实用)创建一个块设备或使用文件作为 Linux VM 的附加块设备并将数据放在该设备上。

相关内容