3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Gakken LEAPAdvent Calendar 2024

Day 19

Mac版DBeaverでpg_dump、pg_restoreした記録

Last updated at Posted at 2024-12-18

はじめに

Gakken LEAPのエンジニアのnishidaです。

今までMySQLばかり使っていたので、GUIツールはSequel Aceばかり使っていましたが、今回初めてDBeaverを使ったところかなりハマってしまったので、原因と対応方法を残しておきたいと思います。

概要

今回の唯一にして一番のどハマりポイントはDBeaverの「クライアントのホームが接続用に指定されていません」というエラーが意味不明だった点につきます。
このエラーで困っている人を一人でも多く救えればと思い記事にしました。

qiita_error.png

一応原因の解説

DBeaverをデフォルトでインストールした状態だと、SELECTやUPDATEなどの一般的なSQLコマンドは利用出来るので「クライアントツールも入っているんだ」という認識でした。そもそも、初めてPostgresqlに接続をした時にプラグインのインストールも走りますし。
しかし、実際はダンプ、リストアコマンドであるpg_dump、pg_restoreはこの時にインストールされていないようです。
原因がわかれば対応は簡単で、コマンドをインストールして、DBeaverに設定してやればいいだけです。

というわけで、以下インストールからダンプ、リストアの手順までを解説します。

具体的な手順

コマンドのインストール&設定

  1. pg_dumpなどのコマンドのインストールは下記のURLが詳しいので、手順通りにlibpqをインストールする
    参考URL:https://zenn.dev/bisque/scraps/d97952787f8d33
  2. DBeaverのサーバのコンテキストメニューを表示して接続の編集を選択
    dbeaver_1_2.png
  3. 接続設定→一般タブ→ドライバの設定を編集をクリック
    dbeaver_1_3.png
  4. ドライバの編集ウィンドウが開くので、ネイティブクライアントタブを開く
    dbeaver_1_4.png
  5. ホームを追加をクリックして、手順1でpg_dumpをインストールしたフォルダを選択
    →ここで「/opt」とかの特殊なフォルダは「Command + Shift + .」を押さないと表示されないので注意です
  6. OKをクリックしてホームの追加とドライバの編集を閉じる

これで、DBeaverの「クライアントのホームが接続用に指定されていません」というエラーが解消されます!

バックアップ手順

以下、具体的なバックアップの作成手順について記載しますが、ダイアログに従ってぽちぽちボタンを押すだけです。

  1. DBeaverでバックアップを取りたいデータベースのコンテキストメニューのツール > バックアップをクリック
    dbeaver_2_1.png
  2. exportのウィンドウが表示されるので、Objectsでpublicを選択
     →下に全てのテーブルがチェックされた状態になる
    dbeaver_2_3.png
  3. 「Next」をクリックして、次の画面で出力先を選択
    dbeaver_2_4.png
  4. 「開始」をクリックすると、指定した出力先にバックアップのsqlが出力される

リストア手順

以下、バックアップ手順で取得したバックアップを使ったリストア手順について記載します。

1.リストア対象のDBの下にあるpublicスキーマを削除するなど空にしておく
2.バックアップをリストアしたいデータベースのコンテキストメニューのツール > リストアをクリック
dbeaver_3_1.png
3. Backup fileでバックアップしたsqlファイルを選択
 →ファイル種別でsqlに変更しないと選択出来ない
dbeaver_3_2.png
4. 「開始」をクリックするとリストアされる

最後に

気がつけばなんてことはないのですが、ズバっとこの答えにたどり着ける情報がなく、また「どの画面のこと言っているの?」ということも多くて結構苦戦しました。
どなたかの役に立てば幸いです。

エンジニア募集

Gakken LEAP では教育をアップデートしていきたいエンジニアを絶賛大募集しています!!
ぜひお気軽にカジュアル面談へお越しください!!

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?