BATONZ Tech Blog

M&Aプラットフォーム運営の株式会社バトンズによる技術ブログです。

M1、M2 MacでPSequelを使う

こんにちは! 最近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

次に元ファイルを残しつつ、取得したpsqlodbcwPSequel」に同梱されている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ツールを利用する選択をするのも良いと思います。

最後まで読んでいただきありがとうございました! また、これからも様々なテーマで記事を投稿してまいりますので、引き続きご愛読いただけますと幸いです!