Postgres data
フォルダーをNFSドライブに移動したいのですが、それを行うための最良の方法がわかりません。私は3つのオプションを念頭に置いています:
Postgres Documentation によると、1つの方法は、initdb
コマンドを-D
オプションとともに使用することです。
initdb
は、指定したディレクトリがまだ存在しない場合は作成を試みます。
LinuxQuestions.org にリストされている別の方法は、postgressql
initスクリプトを更新して、新しいディレクトリ(この場合はNFSドライブ)を指すようにすることです。
最後に、pgsql/data
フォルダーをNFSドライブにコピーして、フォルダーをシンボリックリンクするだけだと思っていました。
つまり、pgsql/data -> nfs/data
Initスクリプトをシンボリックリンクまたは更新することは、私にとって最も簡単なアプローチのように思えますが、それらが最善の方法か、最も安全な方法かはわかりません。これは誰かが私を助けてくれることを願っているところです。任意の提案、懸念、および賛否両論をいただければ幸いです。
環境情報
NFSドライブが-maproot=root
オプションでマウントされており、NFSドライブにroot
ユーザーがアクセスするとします。
Postgresをシャットダウンし、フォルダを移動して、データディレクトリの正しい場所を指すようにinitスクリプトを変更するだけです。サーバーを再起動する前に、data/
の下の構成ファイルで古いパスへの参照を再確認してください。
あなたはおそらくこれをしたくないでしょう。本当に。それは[〜#〜]悪い[〜#〜]の考えです。
NFSの別名はネットワーク障害システムです。その信頼性は知られていないため、基盤となるファイルシステムが不適切なタイミングで(たとえば、WALに追加するときに)消えてしまうと、データベースは言うまでもなく、本当に1日が台無しになる可能性があります。 。 PostgresはNFSに対して特別なことは何もせず、予期しないことが起こった場合はびっくりすることを忘れないでください( Postgresマニュアルの17.2.1を参照 =)。
おそらく、解決しようとしている根本的な問題を説明する(新しい質問をする)場合、リスクの少ない方法で解決できるように支援できますか?