postgresql を常に実行する必要がありますか?

postgresql を常に実行する必要がありますか?

Rails アプリの開発で postgresql を常に実行する (launchctl を使用) と速度 (OS 内) やセキュリティ上の問題が発生するかどうか、必要なときだけ postgres を起動するべきか、それとも開発には sqlite3 を使用し、本番環境では postgres を使用するべきか、疑問に思っています。

答え1

平均的なサーバーの使用レベルであれば、パフォーマンスの面で大きな違いはありません。同じボックスでPostgreSQLをWebサーバー/スクリプト言語プラットフォームと通信させている場合は、ポートを外部に開かないようにするだけで済みます。

DB を常時実行することは、サーバーの世界ではごく標準的なことです。そのため、システムがそのタスクに対してパワー不足でない限り (pII または他の博物館の展示品でしょうか? 私のちっぽけな Atom サーバーは、postgres と mysql を同時に実行しても問題はありません)、DB サーバーをシャットダウンしてもパフォーマンスの面で利点が得られる可能性は低いです。

私は開発者ではありませんが、開発者と仕事をした経験から、プラットフォームの切り替えは面倒な場合があるので、SQlite3 で開発して postgres に切り替えるのはおそらく良い考えではないでしょう。少なくとも、何か問題が発生した場合に本番環境でトラブルシューティングするのではなく、postgres 実装を開発してトラブルシューティングすることができます。

つまり、全く意味がないということです。

関連情報