One IT Thing

IT業界で飯を食う為の学習系雑記

PostgreSQL プチハマリ解決日記

スタンドアロンモードの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にバージョンアップしても変化無し。

6年ほど使っているPCで最近Chromeも重々しい挙動になっていて、どうも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, プチハマリ解決日記
-

執筆者:

関連記事

SSHトンネルを使ってリモートデータベースをBI

クラウド上のDBを分析する為、ローカルPCにSSHトンネル(ポートフォワード)環境を作ります。 リモートDBポートにクラウド外からセキュアに接続できれば、クラウドにBIツールを入れる手間が省けます。 …

Angularのテンプレート評価式にビット演算を使うとTemplate parse errorが発生する

AngularのテンプレートHTMLでビット演算をすることは禁じられているので代替手段を考えます。 目次1 事象2 原因3 対処 事象 CSSクラスをビット演算で切り替えるテンプレートを書きました。c …

pgcryptoの有効化と共通鍵暗号の動作確認

PostgreSQLで「pgcrypto」拡張機能を有効にすると、PostgreSQLに保存するデータを暗号化出来るようになります。 INSERTする際、共通鍵暗号はpgp_sym_encrypt関数 …

Omnibus版のGitLab、Mattermostデータベースに外部ホストからJDBCで接続

Omnibusで入れたPostgreSQLは、 Unix Domainソケットで接続待機Peer認証で認証 していて外部からの接続は出来ないことが前回分かりました。 One IT Thing …

Metabaseの登録データベース削除時に入力を求められて消せない

分析対象として登録したデータベースを一覧から削除する際に入力値を求められ、何を入れていいか分からずプチはまりました。 結論から述べると入力する文字は「delete」でした。 事象 Metabase(v …

 

shingo.nakanishi
 

東京在勤、職歴20年越え中年ITエンジニアです。まだ開発現場で頑張っています。

19歳(1996年)から書き始めた個人日記が5,000日を超え、残りの人生は発信をして行きたいと思い、令和元日からこのサイトを開始しました。勉強と試行錯誤をしながら、自分が経験したIT関連情報を投稿しています。

私と同じく、今後IT業界で生計を立てて行きたいと考えている方や、技術共有したいけどフリーランスで孤独、といった方と一緒に成長、知識共有して行けたら楽しいな、と思っています。