Postgres是否devise写入共享数据存储?

以下是关于docker中的音量共享的一个重要提示 :

多个容器也可以共享一个或多个数据卷。 但是,写入单个共享卷的多个容器可能会导致数据损坏。 确保您的应用程序devise为写入共享数据存储。

在这种情况下,Postgres是否devise写入共享数据存储?

换句话说,运行多个Postgres容器(可能具有不同的次要版本)是否安全地使用位于数据卷上的相同数据库文件?

对于相同的共享数据文件,您不能运行多个PostgreSQL安装,这是数据损坏的一个可靠方法。

如果您的需要是在不停机的情况下更新PostgreSQL,则需要使用适用于不同主要PostgreSQL版本的复制解决scheme,以便您可以首先使用新版本构build数据库副本,然后以受控方式快速切换。 这仍然导致应用程序必须处理的小的中断。

可以使用的复制解决scheme是外部复制工具,如Slony-I或逻辑复制。 逻辑复制是相当新的,它将与PostgreSQL V10(这不会帮助你目前的升级问题),但你可以使用PostgreSQL 9.4中的pglogical 。