質問: "致命的:ロックファイル" postmaster.pid "は既に存在します" brew install postgres経由でpostgresを再インストールしました私はinitdb /usr/local/var/postgres -e utf8を実行しましたが、これを得ました:the files belonging to this database system will be owned by user "atal421". this user must also own the server process. the database cluster will be initialized with locale "en_us.utf-8". the default text search configuration will be set to "english". initdb: directory "/usr/local/var/postgres" exists but is not empty if you want to create a new database system, either remove or empty the directory "/usr/local/var/postgres" or run initdb with an argument other than "/usr/local/var/postgres". だから、私はpostgresフォルダをrm -rfしてまた実行しました。 initdb /usr/local/var/postgres -e utf8 それはすべて問題ないと言った:success. you can now start the database server using: postgres -d /usr/local/var/postgres だから、私はそのコマンドを実行して得ました:postgres -d /usr/local/var/postgres fatal: lock file "postmaster.pid" already exists hint: is another postmaster (pid 13731) running in data directory "/usr/local/var/postgres"? 今私が自分の活動モニターを見ると、私はpostgressの6つの例を見ることができます。これをどのように修正しますか?
回答: 盲目的に、postmaster.pidを削除するのは、実際には毎回の起動時にやるべきことです。それが私のシステムがすることです。起動したばかりなので、postgresプロセスが実行されていないことがわかります。また、不正なシャットダウンから回復している場合は、このファイルが存在して回復を妨げることになります。postgresのより良い設計はpostmaster.pidファイルを/ runファイルシステムに置くことでしょう。そのため、再起動のたびに削除されることが保証されています。他の多くのサーバーはそのように動作します。