PostgreSQL trouble shooting

スタンドアロンモードのPgAdmin4が開くデフォルトブラウザを変更

投稿日:2020年9月26日

PostgreSQL公式GUIクライアントツールの「PgAdmin4」。

PostGISのgeometry型をWeb地図上に表示出来たり、サーバモードで起動すればチーム内で共通的に使えるPostgreSQLクライアントになってくれて非常に重宝します。

PgAdmin4が出てから結構な年月、Windows10にスタンドアロンで入れて使っていたのですが、ある日起動すると挙動がおかしくなっていました。

事象

PgAdmin4をスタンドアロン実行すると以下の順序で起動します。

  • localhostでpythonのHTTPサーバが起動
  • OSのデフォルトブラウザでクライアントページを開く

デフォルトのブラウザをChrome(85.0.4183.121)にしているので下記画像のように起動しますが、右クリック後のコンテキストメニューが消えずに残るようになってしまいました。

右クリックする度にF5して再描画しないとコンテキストメニューが消えないという煩わしさ。どうしてこうなった・・・?

原因

F12でデベロッパーツールを起動してみると以下のエラーが出ていました。該当箇所のソースを見ると、再帰処理の結果、スタックがオーバーフローしているようです。

index.js:35 Uncaught RangeError: Maximum call stack size exceeded
    at Synchronizetion.window.requestAnimationFrame.window.setTimeout (index.js:35)
    at ce (vendor.main.js?ver=42600:2)
    at Synchronizetion.window.requestAnimationFrame.window.setTimeout (index.js:35)
    at ce (vendor.main.js?ver=42600:2)
    at Synchronizetion.window.requestAnimationFrame.window.setTimeout (index.js:35)
    at ce (vendor.main.js?ver=42600:2)
    at Synchronizetion.window.requestAnimationFrame.window.setTimeout (index.js:35)
    at ce (vendor.main.js?ver=42600:2)
    at Synchronizetion.window.requestAnimationFrame.window.setTimeout (index.js:35)
    at ce (vendor.main.js?ver=42600:2)
Synchronizetion.window.requestAnimationFrame.window.setTimeout @ index.js:35
ce @ vendor.main.js?ver=42600:2
Synchronizetion.window.requestAnimationFrame.window.setTimeout @ index.js:35

     :

PgAdmin4を4.11 → 4.26にバージョンアップしても変化無し。

どうもChromeのどこかのバージョンアップが原因のようでPgAdmin4のフロントエンドソースを追っても無駄な気がしてきました。

対処

取りあえずChromeはデフォルトブラウザにしておきたいけど、PgAdmin4はChromeで開いてくれなくても良いので、個別設定して起動ブラウザをFireFoxに変えることにしました。

PgAdmin4を起動するとタスクメニューの中にPgAdmin4のアイコンが出来るのでこれを右クリック。「Configure…」を選択。

「Runtime」タブの「Browser Command」にFireFoxのexeとパラメータを設定。

“C:\Program Files\Mozilla Firefox\firefox.exe” %URL%

「Fixed Port Number ?」も任意のポートに設定してあげます。(設定しないとブラウザでポート指定されず、開いてくれませんでした)

一度PgAdmin4を終了し、再起動するとFireFoxで起動するようになります。コンテキストメニューもしっかり消えてくれました。

ニッチな事象だと思いますが、遭遇した方は起動ブラウザ変更をお試しください。

(*)逆にChromeに変更したい場合はURLパラメータキーとして-appが必要です。

“C:\Program Files\Google\Chrome\Application\chrome.exe” –app=%URL%

-PostgreSQL, trouble shooting
-

執筆者:

関連記事

開発用PostgreSQLをCentOSにインストールしてSQLを流すまで

開発や勉強に使う為のPostgreSQLをCentOSにインストールします。 インストールから基本操作を体験して、0からデータベースを構築する経験を積んでおきます。 目次1 環境2 インストール手順を …

無料で自由に使える日本全国の企業データベースをPostgreSQLで作る

開発するシステムよっては一覧から企業を選択する機能があるかも知れません。「企業データベース」でググると沢山の商用企業データベースが出てきます。 「でも・・・お高いんでしょう?」 いいえ、なんと今なら・ …

開発用PostgreSQLをインストールした後の外部接続、ユーザ作成、認証周りの設定

ローカル開発用にPostgreSQLを入れた後、開発や分析をし易くする為に外部ホストからパスワード付き接続出来るようにしていきます。 また、postgresスーパーユーザは権限が強すぎて開発アプリから …

キャッシュされているはずのServiceWorker資源にオフラインアクセス出来ない(Workbox + ionicons)

そのHTTPリクエストしたファイル資源、ひょっとしてURLパラメータついてたりしませんか? 目次1 事象2 原因3 対処 事象 ionic3(SPA)でWorkboxを使ったServiceWorker …

Eclipse上のpom.xmlが一行目で「Maven構成問題」エラー

目次1 事象2 原因3 対処4 暫定対処? 事象 STSで新規作成したばかりのSpring Bootプロジェクトで、pom.xmlの1行目がエラーになる。 Eclipseは「pleiades-2019 …

 

shingo.nakanishi
 

東京在勤、1977年生まれ、IT職歴2n年、生涯技術者として楽しく生きることを目指しています。デスマに負けず健康第一。