📮

Connection refused (0x0000274D/10061)と出てPostgreSQLが始められない場合

2024/12/15に公開

はじめに

削除してしまった…

ひょんなことから、タスクマネージャーにてポスグレのタスクを強制終了してしまった。

ひょんなこととは…

PostgreSQLのパスワードを忘れて、再設定を試みたからでございますッ
再設定中にうっかり再起動するはずのタスクを切ってしまいました。

<m(_ _)m>ビタッ!!!!

一応動かしてみる

動くかな~と思って、ポスグレのコマンドを実行すると以下のお返事を頂きました。

psql: エラー: "localhost"(::1)、ポート5432のサーバーへの接続に失敗しました: Connection refused (0x0000274D/10061)
        サーバーはそのホスト上で稼働していてTCP/IP接続を受け付けていますか?
"localhost"(127.0.0.1)、ポート5432のサーバーへの接続に失敗しました: Connection refused (0x0000274D/10061)
        サーバーはそのホスト上で稼働していてTCP/IP接続を受け付けていますか?

(同じ質問を2回もしないでください!!)

本題

このページによると、pg_ctlコマンドで、PostgreSQLサーバの「初期化、起動、停止、制御」を操作できるとのこと。

お急ぎの方は飛ばしてください。

まずは状態を確認しました。(えいッ!)

pg_ctl status

するとまたお返事いただきまして、

pg_ctl: データベースの指定も、PGDATA環境変数の設定もありません
詳細は"pg_ctl --help"を実行してください。

(·ε·`)……

pg_ctl --helpコマンドを実行してみました。

> pg_ctl --help
pg_ctlはPostgreSQLサーバーの初期化、起動、停止、制御を行うユーティリティです。
使用方法:
  pg_ctl init[db]   [-D DATADIR] [-s] [-o OPTIONS]
  pg_ctl start      [-D DATADIR] [-l FILENAME] [-W] [-t SECS] [-s]
                    [-o OPTIONS] [-p PATH] [-c]
  pg_ctl stop       [-D DATADIR] [-m SHUTDOWN-MODE] [-W] [-t SECS] [-s]
  pg_ctl restart    [-D DATADIR] [-m SHUTDOWN-MODE] [-W] [-t SECS] [-s]
                    [-o OPTIONS] [-c]
  pg_ctl reload     [-D DATADIR] [-s]
  pg_ctl status     [-D DATADIR]
  pg_ctl promote    [-D DATADIR] [-W] [-t SECS] [-s]
(省略)

お目当ては、pg_ctl status [-D DATADIR]ですね。

状態を確認します。

> pg_ctl status -D "C:/Program Files/PostgreSQL/15/data"
pg_ctl: サーバーが動作していません

今回の原因はサーバーが正常に動作していないのが原因でした。

> pg_ctl start -D "C:\Program Files\PostgreSQL\15\data"
サーバーの起動完了を待っています....2024-12-15 11:17:19.431 JST [33176] LOG:  ログ出力をログ収集プロセスにリダイレクトしています
2024-12-15 HH:MM:SS.FFF JST [33176] ヒント:  ここからのログ出力はディレクトリ"log"に現れます。
.完了
サーバー起動完了

再度ステータスを確認。

> pg_ctl status -D "C:\Program Files\PostgreSQL\15\data"
pg_ctl: サーバーが動作中です(PID: 33176)

無事に、サーバーが起動したようです。

参考リンク

https://www.postgresql.jp/docs/9.4/app-pg-ctl.html

Discussion