🐷

データベース接続エラー(PostgreSQL)

1 min read

1.背景

初歩的なミスだが、備忘録として記事を作成する。

データベースのテーブル確認をするため、Ubuntuよりnode dbコマンドを実行したところ、下記のエラーが発生した。エラーの原因は大した内容ではないのだが、こういったエラーにいちいち時間を取られていると、馬鹿にはできないくらい多くの時間を浪費してしまう。

地道ではあるが、こういったエラーに関する知見を少しずつ増やし、可能な限りでバグにかかる時間を短縮させる必要がある。今回のエラーに関連させて、いくつかよくありそうなエラーを取り纏める。

2.エラー

2.1.ポート番号

添付のエラーで、ポート番号の指定を間違えていた。本来ポスグレのポート番号は5432だが、再インストールした影響か5433となっていた。

そのため、添付の通り、上1-4行目でpg-protocolによるエラーが発生していることが理解できる。プロトコルでこけているので、ポート番号の接続周りを記載しているファイルを確認すればでバグができる。

2.2.その他

実際にエラーを発生させ、スクショを記載する予定だったが、環境の際現に少し手間がかかりそうなので、箇条書きで記載する。

  • パスワードが異なる
    • ホストとポート番号があっているが、入力されたパスワードが異なるケースである。その場合、ポスグレ側からのエラーが返る。
    • 前述のポートエラーでは、そもそもauth failedと書かれている。つまり、ライブラリ自体がポスグレに接続できていないエラーという事。
    • まとめると、ポスグレ側で発生しているエラーなのか、もしくはそもそもポスグレする接続以前のエラーが発生しているのか、切り分けができるようになるとよい。

3.結論

分かるの語源について、広辞苑に以下の記載がされいている。

わかるは、「わける(分ける)」と同源。混沌とした物事がきちんと分け離されると、明確になることから。似た意味をもつ言葉で「分ける」の意味に通じる語には、「理解」「区別」「判別」「分別」「ことわり・ことわる」「わきまえる」など多くある。

分かるとは、分けることである。同様にデバグスキルとは、エラー原因を切り分けて理解する事である。切り分けて理解するためには、まずコマンドで出力された内容について、エラーの発生個所を特定する必要がある。特定するためには、多くのエラーを起こし(意図的にも)、一つ一つ学んでいくことで、個人に知見を蓄積していくほか、術はそんざいしないのだろう。エラーが発生したら、それを喜び解決していくことが重要なのかもしれない。。