こんにちは! 最近Intel MacからM2 Macへと乗り換えました、株式会社バトンズでエンジニアをしているr1hです。
PCを新調するとテンション上がりますよね。 PCを新調したことで必然的にデータ移行が必要になり、Macに標準で搭載されている「移行アシスタント」を利用してみましたが便利ですね。
コンソールの設定や各ツールの設定まで上手く移行されていて感動しました。 しかし、当然ながら一部のアプリケーションは非互換により動作しませんでした。ただ、設定値は移行ができているのであれば、使い慣れたアプリケーションを利用したいですよね?
そこで今回はM2 Macで利用できなかったMac OS用のPostgreSQL GUIツール「PSequel」をM1、M2 Macで利用するための手順を紹介します!
今回使用したもの
ツール名 | バージョン |
---|---|
PSequel | v1.5.3 |
psqlodbc | 13.02.0000_1 |
PSequelとは
一般的なPostgreSQLタスクを迅速に実行するためのクリーンでシンプルなインターフェースを提供してくれるMac OS用のPostgreSQL GUIツールです。
(※引用元:PSequel)
ダウンロード方法
公式ページよりダウンロードできます。
事象
「移行アシスタント」により「PSequel」のアプリケーションとDBの接続情報などは正常に移行が完了していました。
しかしいざConnect
してみると、
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
と異常終了してしまいました。
アプリケーションのバージョンは現時点で最新であるv1.5.3
でした。
原因が分からないのでまずはIssueがないか確認します。
対応方法
前述の事象は過去にもissueが上がっており、公式のコメントによると、
どうやら最新のpsqlodbcw
をコンパイルし、「PSequel」に同梱されているpsqlodbcw
を上書きする必要がありそうです。
まずはコメントの通りに、最新のpsqlodbcw
を取得します。
brew install psqlodbc # psqlodbcのバージョンの確認と後続で置き換え元のパスの確認 brew info psqlodbc
次に元ファイルを残しつつ、取得したpsqlodbcw
でPSequel」に同梱されているpsqlodbcw
を上書きします。
# 置き換える前に別名で元ファイルを残しておく cp -p /Applications/PSequel.app/Contents/Frameworks/psqlodbcw.so{,.origin} # psqlodbcw.soを置き換える cp /usr/local/Cellar/psqlodbc/13.02.0000_1/lib/psqlodbcw.so /Applications/PSequel.app/Contents/Frameworks/psqlodbcw.so
置き換え後に再度Connect
してみると、無事接続に成功しました!
最後に
今回はM2 Macで「PSequel」を使うための方法を紹介しました。 設定値や接続情報が移行できたのもあり、「PSequel」を使用する選択をしましたが、「移行アシスタント」などの移行ツールを使用せずに新規からセットアップする場合には、別のGUIツールを利用する選択をするのも良いと思います。
最後まで読んでいただきありがとうございました! また、これからも様々なテーマで記事を投稿してまいりますので、引き続きご愛読いただけますと幸いです!