はじめに
過去記事 でLinux環境を構築した際に、DBeaverのテスト接続で手こずったので備忘録として残しておきます。
事象
DBeaver から localhost:5432 へ接続テストを行ったところ、接続先サーバーが PostgreSQL 18.6 (Ubuntu) ではなく PostgreSQL 14.16 (Homebrew) と表示され、Linux 側の DB に到達できない現象が発生しました。

原因
Mac 本体の postgres と OrbStack の postgres が存在し、localhost:5432 を取り合っていたためです。
解決手順
Mac 本体の PostgreSQL プロセスを削除し、Homebrew から完全削除を行います。
Step 1: 競合している Mac 側のプロセスを強制終了する
ターミナルを起動させ下記コマンドを実行します。
lsof -i :5432
本体のPostgreSQLとOrbStackと両方表示があれば競合しています。
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
OrbStack 54209 marui 124u IPv4 0xd5e20f202609d12c 0t0 TCP *:postgresql (LISTEN)
postgres 54779 marui 8u IPv4 0x8e07e0fd202609f3 0t0 TCP localhost:postgresql (LISTEN)
Mac 側の postgres の PID(例: 54779)を指定してプロセスを切断します。
kill -9 54779
Step 2: Homebrew から Mac 側の PostgreSQL を完全削除する
brew uninstall postgresql@14 --force
Step 3: 残留プロセスを完全に削除し、ポート開放を確認
アンインストール直後にまだプロセス(PID: 54879 等)が残っている場合は、再度切断します。
kill -9 54879
再度ポートの使用状況を確認します。
lsof -i :5432
成功時の表示:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
OrbStack 54209 marui 124u IPv4 0xd5e20f202609d12c 0t0 TCP *:postgresql (LISTEN)
OrbStack 54209 marui 125u IPv6 0x7cae888f3a202609 0t0 TCP *:postgresql (LISTEN)
postgres の行が消え、OrbStack のみになれば OK です。
Step 4: Linux(OrbStack)側の PostgreSQL サービスを再起動する
sudo service postgresql restart
再度DBeaverに戻り、接続テストを実行します。(成功するはず)