質問: ### 質問したいこと Postgresqlで初期生成されるDBのpostgresについて質問です。 初期DBのpostgresは使用すべきでないといわれたことがあるのですが それはなぜでしょうか? 一般的にはpostgresというDBは使用することはないのでしょうか? ### 試したこと 調べてみたところ Postgresドキュメントでは ``` 初期化が終わると、データベースクラスタにはpostgresという名前のデータベースが含まれています。 このデータベースは、ユーティリティやユーザ、サードパーティ製アプリケーションのデフォルトデータベースとして用意されています。 データベースサーバ自身はこのpostgresデータベースの存在を必要としていません。 ``` とあるので使ってもいいんじゃないかなって思ったので質問しました。 ちなみに今回作るのは小さなアプリなのでDBも複数存在しないです。 DBを複数使うわけでもないのだったら初期のをつかっていいんじゃない?というか、単一のDBのためDB名を認識する必要がないのにわざわざ新規でDBを作成するほうがナンセンスなのではないかな... というのが個人的に思ったことです。
回答: テーブルを複数使うことはあってもDBを複数使うことってあまりないような。 いずれにしても「プロジェクトごとに一意のDBを作るべき」だからと思って差し支えないと思います。 基本的に1プロジェクトで使うDBは1つだと思うのですけど、仮に複数プロジェクトで同じDB使うとなると本来不要なテーブルにもアクセスできてしまいますよね?事故が起きる可能性があるわけです。 ですから、作るアプリがどんなに小さかろうとDBはプロジェクトごとに作ってそれぞれ使うべきであると私は考えます。