it-swarm-ja.com

PostgreSQLのデータベースファイルは、Windows、Linux、Mac OS X間でバイナリ互換ですか?

一度に実行されるPostgreSQLのコピーが1つだけで64ビットOSエディションであると仮定すると、PostgreSQLデータベースファイルをDropboxでホストし、3つのプラットフォームすべてでバイナリ互換性を期待できますか?

私はDropboxで開発環境を何年もホストしており、MacBookProと安価なLinuxネットブックをシームレスに切り替えています。 Windowsネットブックをミックスに追加しましたが、すべてうまく機能しますが、次の変更は不明です。

開発をSQLiteからPostgreSQLに移行しています(本番データベースと一致させるため)。 3つすべてでPostgreSQLを個別に実行できましたが、データの同期を維持するのは面倒です。 PostgreSQLのデータベースファイルをDropboxで直接ホストした場合はどうなりますか?誰かがこれを以前に試したことがありますか?それは機能しますか?

4
Jace

いいえ、データベースファイルは、Windows、Linux、FreeBSD、OS Xなどの異なるオペレーティングシステム間で互換性がありません。しばらくは動作するように見えるかもしれませんが、保証されていません。

データベースディレクトリをDropboxに保存することは原則として機能しますが、同時アクセスを防ぐために非常に注意する必要があります。また、私の経験では、Dropboxはファイルのパーミッションを維持するのはあまり得意ではなく、PostgreSQLはそれについて気難しいことがあります。

アプリケーションでは、rsyncやunisonなど、手動で同期をトリガーする方がうまくいくと思います。プラットフォーム間でデータの同期を維持する必要がある場合は、おそらくpg_dumpとpg_restoreを使用する必要があります。

1

私がすぐに見ることができる問題の1つは、DATAディレクトリの設定ファイルなどとの改行の互換性の問題です。

最初にこの変更を確実にステージングすることをお勧めします。

1