---
title: "DBeaverとは？インストールから接続・データ移行・CLI自動化までの実装手順"
url: "https://www.issoh.co.jp/tech/details/17481/"
published: 2026-09-07
updated: 2026-09-07
categories: ["データベース"]
publisher: "株式会社一創"
---

# DBeaverとは？インストールから接続・データ移行・CLI自動化までの実装手順

DBeaverは、PostgreSQLやMySQL、Oracle、SQL Serverなど種類の異なるデータベースへ、1つの画面から接続して操作できるクライアントツールです。Javaで動くデスクトップアプリで、Community Editionは無料かつオープンソース。案件ごとに違うDBが割り当てられる受託開発の現場では、DBごとに専用ツールを入れ直す手間が消える。この記事では、導入コマンドとテスト接続が通るまでの入力項目、JDBCドライバの手動追加、踏み台経由のSSHトンネル、CSV入出力とテーブル間移送、コマンドラインからの接続作成とSQL実行、設定ファイルのチーム共有までを、公式ドキュメントの記述を根拠に整理します。最後に、標準クライアントとして採用してよい条件と見送るべき場面を示します。

## まとめ：DBeaverで何ができるかと導入判断・接続までの要点

DBeaverの中心にあるのは「JDBCドライバさえ用意できれば、同じ操作感でどのDBにもつながる」という設計です。接続定義はJSONのテキストとして残るため、環境の再現もコマンドラインからの自動化も効きます。

導入だけなら数分で済みます。[公式のダウンロードページ](https://dbeaver.io/download/)では26.2.0が2026年8月30日リリースの安定版として配布され、WindowsのEXE・ZIPに加えてChocolateyやMicrosoft Store、macOSのBrew Cask、LinuxのDEB・RPM・Snap・Flatpakまで並びます。Java実行環境は同梱されるので、別途JDKを入れる必要はありません。

判断が割れるのは、無料のCommunity Editionでどこまで足りるかという点です。日常の参照・編集・CSV入出力・SSHトンネル接続はCommunity版の範囲に収まります。一方で、XLSXやParquetでの書き出し、タスクのコマンドライン実行といった機能はPRO版側にあり、定期バッチとして回したいならライセンス費用が視野に入る。個人の作業ツールとして配るなら無料版で完結し、承認フローや権限統制まで含めて統制したい規模なら、サーバー型の管理基盤を別に検討するほうが筋が通ります。

## DBeaverの実体とCommunity版とPRO版で分かれる機能の境界

「無料のSQLクライアント」とだけ捉えると、後からライセンス費用の話が出て計画が崩れます。何がオープンソースの範囲で、何が有償側なのかを先に押さえます。

### 100種類以上のデータベースに1つのクライアントで接続できる仕組み

DBeaverはJavaアプリケーションで、DBとの通信はJDBCドライバが担います。[公式リポジトリ](https://github.com/dbeaver/dbeaver)の説明にあるとおりライセンスはApache-2.0で、スキーマエディタ、SQLエディタ、データエディタ、ER図、データのエクスポート・インポート・移行を標準で備える。対応ドライバは100種類以上に及びます。

この構造の帰結として、DBeaver本体はSQLの方言差を吸収する薄い層に徹しています。テーブル一覧の取得もデータ型の解釈もドライバ任せなので、新しいDBが増えてもクライアント側の学習コストはほとんど増えません。逆にドライバが古いと新しい構文や型で表示が崩れるため、不具合の切り分けではまずドライバの版を疑う順序になります。

### Community版で足りる範囲とPRO版でしか動かない機能の差

無償のCommunity Editionでも、接続・スキーマ参照・SQL実行・結果セットの編集・ER図の表示・CSVでの入出力・SSHトンネル・コマンドラインからの接続作成までが動きます。日々の開発作業で足りない場面はあまりありません。

差が出るのは出力形式と自動化です。[データ転送のドキュメント](https://dbeaver.com/docs/dbeaver/Data-transfer/)では、XLSX・XML・Parquetでのエクスポートと、XLSXでのインポートがPRO版の機能として明示されています。保存した転送設定をコマンドラインから起動する`-runTask`もPRO版側。人が画面を開いて操作する用途は無料版で完結し、無人で定期実行する用途に踏み込むと有償版かスクリプト自作かの選択になります。エディションごとの変更履歴は[公式のリリースノート](https://dbeaver.com/release-notes/)に分かれて掲載されています。

## インストールからPostgreSQLへ最初の接続を通すまでの操作手順

導入で詰まる箇所はほぼ決まっています。パッケージ経路の選び方と、テスト接続を押す前に埋めるべき項目です。

### OSごとの導入コマンドと同梱されるJava実行環境の確認手順

インストーラを手で落とすより、パッケージマネージャー経由のほうが更新の追随が楽になります。代表的な導入コマンドは次のとおりです。

```
rem Windows（Chocolatey または winget）
choco install dbeaver
winget install dbeaver.dbeaver

# macOS（Homebrew Cask）
brew install --cask dbeaver-community

# Linux（Snap または Flatpak）
sudo snap install dbeaver-ce
flatpak install flathub io.dbeaver.DBeaverCommunity
```

Javaは本体に同梱されるため、別途インストールする作業は要りません。GitHubリポジトリの記述ではOpenJDK 25が同梱され、インストールフォルダ内のjreディレクトリを差し替えれば別バージョンへ切り替えられるとされています。社内の検証環境でJavaの版を揃える規程がある場合は、この差し替えが逃げ道になります。

### PostgreSQLへ接続してテスト接続が通るまでの入力項目

データベースナビゲータで新しい接続を作り、DBの種類を選ぶと、初回はドライバのjarファイルが自動でダウンロードされます。入力するのはホスト、ポート、データベース名、ユーザー名、パスワードの5項目。PostgreSQLならポートの既定は5432で、立てたばかりのサーバーならデータベース名はpostgresのままでも入れます。接続先のサーバー側をこれから用意するなら、[PostgreSQLのインストール手順と文字コードの決まり方](https://www.issoh.co.jp/tech/details/16963/)を先に済ませてください。

テスト接続が通ったら、SQLエディタを開いて実際に応答を確かめます。

```
SELECT version();
SELECT current_database(), current_user;
SELECT datname, numbackends
  FROM pg_stat_database
 ORDER BY numbackends DESC
 LIMIT 10;
```

ここで認証エラーになる場合、原因はDBeaver側ではなくサーバー側の接続許可設定であることがほとんどです。接続元IPからの接続がpg\_hba.confで許可されているか、リッスンアドレスがループバックだけになっていないかを確認する順序になります。

## JDBCドライバを手動追加して既定サポート外のDBへ接続する設定

社内システムで使うDBが一覧に出てこない、あるいは配布されたドライバの版を固定したい場面があります。ドライバマネージャーがその受け口です。

### ドライバマネージャーでJDBCのjarを追加する具体的な操作

[ドライバマネージャーのドキュメント](https://dbeaver.com/docs/dbeaver/Driver-Manager/)では、JDBCドライバを「特定のDBに接続して作業するためのJavaライブラリで、通常はDBを作った企業が提供する1つ以上のjarファイル」と定義しています。追加の流れは、ドライバマネージャーで新規作成し、ドライバ名とクラス名、接続URLのテンプレートを指定し、jarファイルを登録するという順序です。

登録後に現れるドライバプロパティのタブには、そのドライバ固有の既定接続プロパティが並びます。タイムゾーンの解釈、フェッチサイズ、SSLの要否といった設定はここで変えるもので、接続画面の一般タブには出てきません。文字化けやタイムスタンプのずれは、この層の設定で解決する場合が多くあります。

### 社内プロキシでドライバのダウンロードが失敗する場合の代替手順

閉じたネットワークでは、初回接続時の自動ダウンロードが通らずに接続作成そのものが止まります。この場合は、別の端末で取得したjarをドライバ編集画面のライブラリ欄へ手動で登録すれば同じ状態になります。Mavenの座標を指定して取得させることもできますが、社内リポジトリを経由させるならjarの直接登録のほうが確実です。

ドライバのファイルはワークスペース配下のdriversディレクトリに置かれるため、検証済みの版を全員へ配るならこのディレクトリごと配布する手もあります。どのDBにどの版を当てたかを記録に残しておくと、後日の切り分けが短く済みます。

## 踏み台サーバー経由のSSHトンネルで本番DBへ安全につなぐ設定

本番DBへ直接つなげる環境は多くありません。DBeaverはSSHトンネルを内蔵しているため、別途トンネルを張るコマンドを常駐させる必要がない点が実務では効きます。

### SSHトンネルの設定項目と鍵認証・エージェント認証の使い分け

接続設定のSSHタブで指定するのは、Host/IP、Port、User name、認証方式、パスワードの各項目です。[公式ドキュメント](https://dbeaver.com/docs/dbeaver/SSH-Configuration/)によればポートの既定値は22で、認証方式はパスワード、公開鍵、エージェントの3種類から選べます。エージェント認証はWindowsではPageant、それ以外ではssh-agentが対象です。

鍵ファイルを直接読ませる方式は設定が単純な反面、パスフレーズの保存が社内規程に触れる場合があります。踏み台への鍵をエージェントに預ける運用が既にあるなら、エージェント認証のほうが鍵の複製を増やさずに済む。無操作で切れる環境では、同じ画面のKeep-Alive間隔とタイムアウトを伸ばして対処します。

### 多段の踏み台を挟むジャンプサーバー構成での接続順序の指定方法

踏み台が1台では足りず、境界を2回越える構成も珍しくありません。DBeaverのSSH設定はジャンプサーバーに対応しており、公式ドキュメントでは「localhost → 200.200.200.200 → 100.100.100.100」という順序の例が示されています。各ホストについて接続先と認証情報を個別に設定する形です。

この構成では、DBの接続設定に書くホスト名は最終段の踏み台から見た名前になり、手元のマシンから名前解決できなくても構いません。取り違えるとSSHは通るのにDBへ届かない症状になるため、踏み台上で同じ名前を解決できるかを先に確かめてください。トンネルの共有設定を有効にすれば、同じ踏み台を使う複数の接続で1本を使い回せます。

## SQLエディタの実行操作とデータ転送でのCSV入出力とDB間移行

日々の作業時間の大半はSQLエディタと結果グリッドの上で過ぎます。ここでの操作を覚えると、他のクライアントへ戻る理由がなくなります。

### SQLエディタでの実行操作と結果セットを直接編集するときの注意点

SQLエディタでは、カーソル位置の1文を実行する操作と、スクリプト全体を順に流す操作が分かれています。前者は調査で使い、後者はDDLをまとめて当てる場面で使う。実行計画の表示も同じエディタから呼び出せるため、遅いクエリの調査はここで完結します。読み方の詳細は[PostgreSQLの実行計画の読み方](https://www.issoh.co.jp/tech/details/16994/)にまとめています。

結果グリッドはセルを直接書き換えられますが、この編集は保存操作を行うまでDBへ反映されません。裏で発行されるUPDATE文は主キーを条件に組み立てられるため、主キーを持たないテーブルやビューの結果は編集できない場合があります。一覧をSQLで引く方法は[PostgreSQLでテーブル一覧を取得する方法](https://www.issoh.co.jp/tech/details/16966/)にまとめており、ナビゲータの表示と突き合わせられる。参照関係を図で見たいときはER図タブが早く、[ER図の読み方と記法](https://www.issoh.co.jp/tech/details/13484/)を押さえておくと初見のスキーマの把握が速くなります。

### データ転送でCSVへ書き出しテーブル間で移送するときの形式と手順

結果セットやテーブルを右クリックすると、データ転送のウィザードが開きます。エクスポートで選べるのはCSV・HTML・JSON・Markdown・SQL・ソースコード・TXTで、XLSX・XML・ParquetはPRO版の範囲。インポートはCSVとDbUnit、そしてテーブルからテーブルへの直接転送に対応します。区切り文字、文字エンコーディング、NULLの扱いはウィザード内で指定でき、設定はタスクとして保存して再利用できます。

DB間の移送を行う場合、転送先のカラムとのマッピング画面で型の対応を確認してください。公式ドキュメントは、転送が終わるまで対象テーブルのデータを変更しないよう推奨しています。件数の多いテーブルではマルチスレッドでの書き出しが効きますが、本番DBに対して実行すると読み取り負荷がそのまま乗る点は変わりません。異種DB間の本格的な移行になると、型変換やシーケンスの引き継ぎまで含めた設計が必要で、その論点は[OracleからPostgreSQLへ移行するときの型と構文の差分](https://www.issoh.co.jp/tech/details/16988/)で扱っています。

## コマンドラインから接続作成とSQLファイル実行を自動化する手順

GUIツールという印象が強い一方で、DBeaverには起動時引数が用意されています。環境構築の手順書をコマンドで書ける点は、チーム配布で効きます。

### コマンドラインで接続を作成し既存の環境を再現するための引数の書式

[コマンドラインのドキュメント](https://dbeaver.com/docs/dbeaver/Command-Line/)によると、実行ファイルはWindowsがdbeaverc.exe、Linuxがdbeaver-ce、macOSはopenコマンド経由かアプリ内のバイナリです。接続の作成は`-con`で行い、設定を縦棒で区切って名前と値を渡します。

```
rem Windows: PostgreSQL接続を作成してコンソールを開く
dbeaverc.exe -con "driver=postgresql|host=db.example.internal|port=5432|database=appdb|user=app_ro|password=secret|name=stg-appdb|save=true|connect=true|openConsole=true"

# Linux: SQLite接続を作成する
dbeaver-ce -con "driver=sqlite|database=/srv/data/chinook.db|name=chinook"
```

指定できるキーにはdriver、host、port、database、user、password、autoCommit、openConsoleなどがあります。接続を1つずつ手で作らせる代わりにこのコマンドを配れば、名前の付け方まで揃う。パスワードは平文で渡る形なので、省いて初回接続時に入力させる運用にしてください。

### SQLファイルの実行とワークスペースを切り替える起動時の引数

ファイルを開く`-f`と、ワークスペースの場所を指定する`-data`を組み合わせると、案件ごとに設定を分離したまま作業を始められます。

```
# 案件専用ワークスペースを指定してSQLファイルを開く
dbeaver-ce -data "/opt/dbeaver-ws/projectA" -f "/home/dev/sql/daily_check.sql"

# 起動中のインスタンスを終了する
dbeaver-ce -stop
```

終了コードは0が成功、1が一般的なエラー、2が引数の誤りと定義されています。シェルスクリプトから呼ぶ場合はこの値で分岐できる。ただし`-f`はあくまでエディタで開く動作で、SQLを無人実行して結果ファイルを吐く用途は保存済みタスクを起動する`-runTask`の役割であり、こちらはPRO版の機能です。無料版の範囲で定期実行を組むなら、psqlやmysqlのクライアントをスケジューラから叩く構成のほうが素直に収まります。

## ワークスペースの設定ファイルをチームで安全に共有する構成と手順

接続定義をメンバー間で配りたい、けれど資格情報は配りたくない。この分離ができるかどうかで、チーム導入の可否が決まります。

### 設定ファイルの置き場所と資格情報を除外して共有する分け方の型

[ワークスペースのドキュメント](https://dbeaver.com/docs/dbeaver/Workspace-Location/)によれば、既定の格納先はWindowsが%APPDATA%\\DBeaverData\\、macOSがLibrary配下、LinuxがXDG\_DATA\_HOME配下のDBeaverDataです。その中に、設定のworkspace6、ドライバのdrivers、暗号化された認証情報のsecure、グローバル設定のsettingsが並びます。

接続定義の実体は[設定ファイルのドキュメント](https://dbeaver.com/docs/dbeaver/Configuration-files-in-DBeaver/)にあるとおり、workspace6配下のGeneral/.dbeaver/data-sources.jsonです。同じ階層のtasks.jsonがタスク定義を持ち、ユーザー名やパスワード、秘密鍵といった機微な値は暗号化されたcredentials-config.jsonに分かれて保存されます。ファイルが分かれている以上、前者だけを共有すれば接続先の一覧を配りつつ資格情報は各自の手元に留められる、という運用が成り立ちます。

### バージョン管理へ載せるときに事故を起こしやすい設定項目の扱い方

プロジェクトフォルダをGitで管理する場合、除外の指定はファイル単位で書きます。

```
# .gitignore の例（接続定義は共有し、資格情報は除外する）
**/.dbeaver/credentials-config.json
**/secure/
**/drivers/

# 共有したいファイルは明示的に含める
!**/.dbeaver/data-sources.json
!**/.dbeaver/tasks.json
```

公式ドキュメントには、プロジェクトフォルダ内で.dbeaver配下のdata-sources\*.jsonというパターンに一致するファイルは起動時にすべて読み込まれるという記述があります。命名を変えた複製を同じ場所に置くと二重に読み込まれるため、退避用のバックアップは別ディレクトリへ移してください。プロジェクトそのものの受け渡しはFileメニューのImport/Exportからも行え、公式ドキュメントもバージョン管理システムでの共有に言及しています。共有した定義には本番DBのホスト名が残るため、参照専用ユーザーに限る、本番接続はSSHトンネル必須にするといった制約を配布側で固定しておくほうが安全側に倒れます。

## 受託開発でDBeaverを採用してよい条件と見送るべき場面の線引き

ツールの機能一覧ではなく、どういう体制と要件のときに選ぶのかを言い切ります。ここが判断の分かれ目です。

### 受託開発でDBeaverを標準クライアントに採用してよい条件

採用してよいのは次の3条件が揃うときです。第一に、扱うDBの種類が複数ある、あるいは案件ごとに変わること。JDBCで足りる範囲なら操作体系を1つに寄せられ、教育コストが人数分の掛け算になりません。第二に、DBへ触るのが開発者と運用担当に限られ、操作の統制を運用規程で担保できること。第三に、定期実行の要件が無いか、DB付属のクライアントをスケジューラから叩く形で足りること。

この条件下では、接続定義をリポジトリで配って資格情報だけ各自に入れさせる運用が回ります。移行案件では、テーブル間の直接転送とCSV入出力が試験データの投入や差分確認にそのまま使える。データ移行やDBリプレイスを含む案件の進め方は[システムマイグレーション・リプレイスの支援](https://www.issoh.co.jp/service/system/migration/)で扱っており、移送の設計と接続検証をまとめて相談できます。

### 見送るべき場面と権限の統制が必要になる現場での代替手段の考え方

見送るのは、誰がいつ何を実行したかを人単位で監査する要件がある場面です。デスクトップクライアントは各自の端末で動くため、実行ログの集約も権限の一元管理も本体の役目ではありません。この要件が出たら、接続を仲介するWeb型の管理基盤や踏み台でのセッション記録といった別の層で解く必要があります。

もう1つの見送り条件は、無人での定期実行が主目的の場合です。前述のとおりタスクのコマンドライン実行はPRO版の機能で、そこにライセンス費用を払うより、psqlやスクリプトで書いてスケジューラに載せたほうが構成が簡素になります。非エンジニアが日常的にデータを閲覧する用途も、GUIの自由度が高すぎて事故のリスクが上がるため、BIツールや専用の照会画面を用意する判断のほうが妥当です。SQLそのものの学習段階にあるメンバーには、[SQLの基本構文と実行の流れ](https://www.issoh.co.jp/tech/details/13123/)を先に押さえてもらうと、ツールの操作と言語の理解が混ざらずに済みます。

## DBeaverの接続設定・エディション・共有についてのよくある質問

### DBeaverは商用利用でも無料で使えますか？

Community EditionはApache-2.0ライセンスのオープンソースソフトウェアとして公開されており、公式のダウンロードページでも無料かつオープンソースと明記されています。商用の開発現場で使う場合もライセンス費用は発生しません。有償になるのはLite・Enterprise・Ultimateといった上位エディションで、XLSXやParquetでの書き出し、タスクのコマンドライン実行などが対象です。

### DBeaverの画面を日本語にできますか？

本体の表示言語は設定から切り替えられ、日本語のリソースも含まれています。ただし翻訳されていない画面が残り、ドライバプロパティやエラーメッセージは英語のまま出る箇所がある。エラー文言で調べる場面が多いツールなので、原文のまま扱ったほうが公式ドキュメントとの突き合わせは早く終わります。

### 接続情報はどこに保存され、どの程度保護されますか？

接続先のホストやポートといった定義はworkspace6配下のGeneral/.dbeaver/data-sources.jsonに平文のJSONとして保存され、ユーザー名やパスワード、秘密鍵は暗号化されたcredentials-config.jsonに分けて保存されます。ワークスペース配下のsecureディレクトリも暗号化された認証情報の格納先です。端末のディスク暗号化と画面ロックが前提になる点は、他のデスクトップクライアントと変わりません。

### DBeaverからテーブルのデータを直接編集しても安全ですか？

結果グリッドでの編集は保存操作を行うまでDBへ送られず、保存時に主キーを条件としたUPDATE文が発行されます。したがって主キーの無いテーブルでは編集できない、あるいは意図しない行に当たる可能性がある。本番DBに対しては参照専用ユーザーで接続し、更新は明示的にSQLを書いて実行する運用に固定しておくと事故を防げます。

### 大量データのエクスポートで時間がかかる場合はどうしますか？

データ転送はバックグラウンドで動き、大規模なエクスポートではマルチスレッド処理が使えます。それでも遅い場合、原因はクライアント側ではなくサーバー側のクエリ実行にあることが多く、実行計画を見て絞り込み条件やインデックスを見直す順序になる。転送設定はタスクとして保存できるため、毎回ウィザードを埋め直す必要はありません。

## 関連記事

- [PostgreSQLのインストール手順｜Windows・Ubuntu別の導入とinitdbで決まる文字コード](https://www.issoh.co.jp/tech/details/16963/)：接続先のサーバーを自分で用意する場合の手順
- [PostgreSQLでテーブル一覧を取得する方法](https://www.issoh.co.jp/tech/details/16966/)：ナビゲータの表示をSQLで確かめる書き方
- [PostgreSQLの実行計画の読み方](https://www.issoh.co.jp/tech/details/16994/)：エディタから呼び出した実行計画の解釈
- [OracleからPostgreSQLへの移行](https://www.issoh.co.jp/tech/details/16988/)：異種DB間の移送で設計が要る論点
- [ER図とは](https://www.issoh.co.jp/tech/details/13484/)：ER図タブで表示される記法の読み方
- [SQLとは](https://www.issoh.co.jp/tech/details/13123/)：SQLエディタで書く前に押さえる基本構文

---

出典: [DBeaverとは？インストールから接続・データ移行・CLI自動化までの実装手順](<https://www.issoh.co.jp/tech/details/17481/>)（株式会社一創）
