brew upgrade後のrails sエラー（postgresql@14）

## 概要
Macにて`brew upgrage`コマンドを実行時に、
postgresqlバージョンアップ(14.3 ➡︎ 14.5)が自動で実施された。
その後、`rails s`コマンドにてエラーが発生。
その解消方法について、備忘録として残す。

## 環境
| もろもろ | バージョン | 
| :--- | ---: | 
| Mac | 12.5.1<br>(Monterey) | 
| Ruby | 3.0.1 |
| Rails | 6.1.6.1 | 
| Homebrew | 3.5.10 | 
| PostgreSQL | 14.3 ➡︎ 14.5<br>(アップデート)| 


## 発生したエラー
`rails s`コマンド実行
↓
```
/Users/username/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/bootsnap-1.13.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require': dlopen(/Users/username/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/pg-1.4.3/lib/pg_ext.bundle, 0x0009): Library not loaded: '/opt/homebrew/opt/postgresql/lib/libpq.5.dylib' (LoadError)
  Referenced from: '/Users/username/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/pg-1.4.3/lib/pg_ext.bundle'
  Reason: tried: '/opt/homebrew/opt/postgresql/lib/libpq.5.dylib' (no such file), '/usr/local/lib/libpq.5.dylib' (no such file), '/usr/lib/libpq.5.dylib' (no such file), '/opt/homebrew/Cellar/postgresql@14/14.5_1/lib/libpq.5.dylib' (no such file), '/usr/local/lib/libpq.5.dylib' (no such file), '/usr/lib/libpq.5.dylib' (no such file) - /Users/username/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/pg-1.4.3/lib/pg_ext.bundle
```

## エラー解消方法（結論）
下記コマンドにてシンボリックリンクを作成。
```
ln -s /opt/homebrew/opt/postgresql/lib/postgresql@14/libpq.5.dylib /opt/homebrew/opt/postgresql/lib/libpq.5.dylib
```
↓
作成後に`rails s`コマンドで無事実行できた。

## エラー原因の特定までの流れ
__rails sエラー時の注目箇所__

:::note warn
__'/opt/homebrew/opt/postgresql/lib/libpq.5.dylib' (LoadError)__
と
__'/opt/homebrew/opt/postgresql/lib/libpq.5.dylib' (no such file)__
あたり
:::

私「どうやら`libpq.5.dylib`というファイルが見当たらないことで読み込めないっぽいなぁ」
↓
下記コマンドでファイルがあるかを確認しにいく。
```
ls -la /opt/homebrew/opt/postgresql/lib/
```
↓
`libpq.5.dylib`というファイルは見当たらないが、
`postgresql@14`というディレクトリを発見。
↓
`postgresql@14`のディレクトリ内を見ると、`libpq.5.dylib`のファイル発見！
↓
どうやらディレクトリの階層構造が変化してしまったらしい。(<back color="red">赤字部分</font>）
upgrade前：/opt/homebrew/opt/postgresql/lib/libpq.5.dylib
upgrade後：/opt/homebrew/opt/postgresql/lib<font color="red"; ">/postgresql@14</font>/libpq.5.dylib
↓
シンボリックリンクを（下記コマンドで）作成して対応しよう。
```
ln -s 「シンボリックリンク元のパス」 「シンボリックリンクを作成する場所のパス」
```
↓
最終的に実行したコマンド
```
ln -s /opt/homebrew/opt/postgresql/lib/postgresql@14/libpq.5.dylib /opt/homebrew/opt/postgresql/lib/libpq.5.dylib
```

## 補足
上記解決に至る前に試したこと
**ターミナルにて**
`brew services restart postgresql@14`（PostgreSQLの再起動）
`brew uninstall --force postgresql@14  `（PostgreSQLのアンインストール）
`brew install postgresql@14`（PostgreSQLの再インストール）

**railsのGemfile&ターミナルにて**
`gem 'pg'`の行をコメントアウトして`bundle update`
`gem 'pg'`の行をアンコメント（コメントアウト解除）して`bundle install`

上記では改善に至らず。。。

「**no such file**」というエラー文言を受けて、素直にディレクトリやファイルの場所を確認しにいくべきだったと反省。。。


## 参考にさせていただいた記事
https://qiita.com/kanaidai/items/b9e81c439ef34cad4d47


## 追記（2022/10/07）
上記シンボリックリンクでの対処について、
PostgreSQLのアップデートが再度実行されると、
シンボリックリンクが消えてしまい、
同一のエラーが出てしまいます。

シンボリックリンクの貼り直しでも対処できますが、
根本解決のために下記手順を実行したので、
記録として残します。

### 手順
1. rbenvアンイントール
1. .rbenvディレクトリの削除
1. rbenvインストール
1. rubyインストール
1. rubyバージョン固定
1. rails（Gem）インストール
1. （railsアプリフォルダにて）Gem入れ直し
1. 解決！（rails s成功！）

### 実際のコマンド
```shell
brew uninstall rbenv  # rbenvアンインストール
rm -rf /Users/username/.rbenv  # .rbenvディレクトリ削除
brew install rbenv  # rbenvインストール
rbenv install 3.0.1  # rubyインストール（※必要なバージョンを指定）
rbenv global 3.0.1  # rubyバージョン固定
gem install rails -v 6.1.6  # railsインストール（※必要なバージョンを指定）
bundle install  # （railsアプリフォルダにて）Gem入れ直し
rails s  # 無事起動成功、やったー！
```

※.rbenvディレクトリの削除により、
各種Gemが削除されるので、
必要に応じて、入れ直しが必要です。
ご注意ください。