小编Tim*_*imY的帖子

在一台双启动机器上共享 PostgreSQL 数据库而不会重复(跨平台)

我在双引导机器上安装了 PostgreSQL 9.4(在 Win 7 和 Ubuntu 14.10 上)。这两个系统共享一个驱动器(NTFS 格式),其中包含一个在 Windows 下创建的 PSQL 数据库目录。显然,PSQL 安装是特定于系统的,而且它们也恰好位于不同的分区上。该驱动器在 Linux 下自动挂载,并授予完全读/写/执行权限。

我想知道是否可以在两个系统之间共享结构和数据,而无需在每次加载新操作系统时复制和/或复制所有内容。实际上,我希望所有数据在 Windows 中创建时都可用于 Ubuntu,反之亦然。

这是可能的,如果是这样,假设所有数据最初是在 Windows 下生成的,如何从 Linux 设置它?

编辑:我尝试运行:

sudo pg_dropcluster --stop 9.4 main
Run Code Online (Sandbox Code Playgroud)

其次是

sudo pg_createcluster -d /db_from_windows_path 9.4 main
Run Code Online (Sandbox Code Playgroud)

这似乎有效,但是当再次启动服务器时,我得到:

sudo /etc/init.d/postgresql start 
 * Starting PostgreSQL 9.4 database server
 * Error: could not exec /usr/lib/postgresql/9.4/bin/pg_ctl /usr/lib/postgresql/9.4/bin/pg_ctl start -D /db_from_windows_path -s -o  -c config_file="/etc/postgresql/9.4/main/postgresql.conf" :
 [fail]
Run Code Online (Sandbox Code Playgroud)

它看起来非常神秘,特别是因为它/var/log/postgresql/postgresql-9.4-main.log是完全空的,/var/log/postgresql/目录的其余部分也是如此

编辑 2:经过一番观察,我注意到 chown 没有被占用,因为 NTFS 系统显然只能在安装时设置。在修复 /etc/fstab 以将所有权授予 postgres 后, …

postgresql windows linux

5
推荐指数
1
解决办法
1391
查看次数

标签 统计

linux ×1

postgresql ×1

windows ×1