2017-08-18 5 views
0

私は、ファイルシステム上のファイルへの参照を含むpostgresデータベースを持っています。これらの参照はVARCHAR値シンプルなので、私は保証なし参照整合性がない理解:これは素晴らしいです参照ファイルを使ったPostgresの複製

CREATE TABLE user (
    username VARCHAR(50) PRIMARY KEY, 
    age INTEGER, 
    template VARCHAR(100) -- Filepath of a file on disk 
); 

INSERT INTO 
    user (username, age, template) 
    VALUES ('bob',  32, '/templates/cool-template.html'); 

、参照整合性の欠如が問題ではありません。 しかし今私は標準的なストリーミングの複製を設定します(私はthis pageの "How To Use"見出しのチュートリアルに従います)。

ファイルシステムファイル(例:「cool-template.html」)をpostgres dbのコンテンツと共に複製するには、どのような方法が最適ですか?私はデータベースにファイルを保存したくありません。私はすでに独立していることを認識していますrsyncすべてのファイルが、より良い方法がありますか? postgresは、ファイルをバックアップするための何らかのフックを提供していますか?

ありがとうございました!

答えて

0

ダミーのrsync(cronやフックで起動)を使用するのが最も簡単な解決策は、既存のファイルを同期するだけではないことを確認することです(ファイルの削除を同期させる場合) 。

rsync -avh source/ dest/ --delete 

はまた、(それが複製されませんが、これはまだかなり安全で高可用性ソリューションです)、あなたのデータを格納するamazongoogleバケツを使用することができます。

十分な自信がある場合は、DRBDCephで遊ぶことができます。実際に何をしているのか、2つ以上のノードを持っているのでなければ、アドバイスされません。

私は個人的にアマゾンやGoogleの共有ストレージに行くだろう:低リスク、あまりメンテナンスではなく、理解しやすく使いやすい。

関連する問題