コマンドラインからデータベースを管理するには、データベースを最大限に活用するための学習曲線が必要です。
コマンドラインが煩雑になることがあり、表示が現在の作業に最適でない場合があります。
データベースやテーブルの閲覧、インデックスやユーザー権限の確認、監視、管理、さらにはコーディングでさえ、コンソールを介して処理しようとすると非常に面倒になる可能性があります。
コマンドラインコマンドを管理する必要がないわけではありませんが(確かに必須です)、毎日のDBAタスクの多くをスピードアップするのに役立つツールがいくつかあります。
これらのツールが何であるかを見て、それらのいくつかを確認しましょう。
GUIツールとは何ですか?
GUIまたはグラフィカルユーザーインターフェイスは、グラフィカルアイコンと視覚的なインジケーターを使用してユーザーのタスクを簡素化するソフトウェアです。アクションは、グラフィカル要素を使用して実行されます。
GUIツールを使用する必要があるのはなぜですか?
GUIの使用は必須ではありませんが、便利な場合があります。 GUIの主な利点の1つは、一般に、多くのコマンドよりも習得が容易であり、おそらくGUIでの1つのアクションで、タスクを実行するためのいくつかのコマンドを生成できることです。
もう1つの利点は、GUIがコマンドラインよりも使いやすく、ほとんどの場合、GUIを使用するためにプログラミングやシステム管理者の知識が必要ないことです。
ただし、GUIからタスクを実行する前に注意する必要があります。間違ったボタンを使用すると、テーブルの削除などの大きな問題が発生する可能性があるためです。このため、この種のツールを使用するときは注意してください。
PostgreSQL用のトップGUIツール
それでは、PostgreSQL用の最も一般的なGUIツールのいくつかを見てみましょう。
インストール例については、Ubuntu18.04Bionicでテストすることに注意してください。
pgAdmin
pgAdminは、PostgreSQLで最も人気のあるオープンソースの管理および開発プラットフォームの1つです。
初心者と経験豊富なPostgreSQLユーザーの両方のニーズを満たすように設計されており、データベースオブジェクトの作成、保守、および使用を簡素化する強力なグラフィカルインターフェイスを提供します。
Linux、Mac OS X、およびWindowsでサポートされています。単純なSQLクエリの記述から複雑なデータベースの開発まで、すべてのPostgreSQL機能をサポートします。アクティブなデータベースにクエリを実行するように設計されているため、変更や実装を常に最新の状態に保つことができます。現在のバージョンであるpgAdmin4は、PostgreSQL9.2以降を管理できます。
機能
- グラフィカルなクエリプランの表示
- ACLを迅速に更新するための付与ウィザード
- 手続き型言語デバッガー
- 自動バキューム管理
- 監視ダッシュボード
- オンデマンドでバックアップ、復元、バキューム、分析
- SQL/シェル/バッチジョブスケジューリングエージェント
- 実行時に検出されたオブジェクトの自動検出とサポート
- データを直接編集するライブSQLクエリツール
- 管理クエリのサポート
- 構文を強調するSQLエディター
- 再設計されたグラフィカルインターフェイス
- 一般的なタスクのための強力な管理ダイアログとツール
- 応答性が高く、状況に応じた行動
- サポートエラーメッセージ
- 役立つヒント
- オンラインヘルプとpgAdminダイアログとツールの使用に関する情報
インストール
まず、リポジトリキーをインポートする必要があります。
$ sudo apt-get install curl ca-certificates
$ curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
そして、/ etc / apt / sources.list.d/pgdg.listファイルを作成します。ディストリビューションはcodename-pgdgと呼ばれます。この例では、bionic-pgdgである必要があります。
$ deb http://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main
ディストリビューションのコードネームを確認するには、lsb_release-cコマンドを実行します。
この後、パッケージリストを更新し、pgadminパッケージをインストールする必要があります。
$ sudo apt-get update
$ sudo apt-get install pgadmin4
次に、pgadmin4コマンドを実行するだけです。
$ pgadmin4
構成
インストールにより、特定のポートでリッスンするpgAdminサーバーが作成されます。このポートは、pgadmin4コマンドを実行するたびに変更されます。プログラムの実行後、タスクバーのpgAdminアイコンからアクセスするWebインターフェイスからデータベースを管理できます。
データベースに接続するには、[新しいサーバーの追加]オプションを選択し、接続情報を入力する必要があります。
次に、pgAdmin4を使用してデータベースを管理できます。
デザインは見栄えがよく、直感的なインターフェイスです。メイン画面のグラフは、システムの問題を検出するのに役立ちます。
インストールにはリポジトリを追加する必要があるため、追加のスキルが必要になる場合があります。
ClusterControl
ClusterControlは、PostgreSQLの導入、管理、監視、スケーリングをサポートしています。
デプロイされた各PostgreSQLインスタンスは、ClusterControlの使いやすいポイントアンドクリックインターフェースを使用して自動的に構成されます。
バックアップを管理し、クエリを実行し、すべてのマスターとスレーブの高度な監視を実行できます。何か問題が発生した場合は、すべて自動フェイルオーバーを使用します。
ClusterControl内の自動化機能を使用すると、PostgreSQLレプリケーション環境を簡単にセットアップできます。この環境では、新しいレプリケーションスレーブを最初から追加したり、すでに構成されているものを使用したりできます。
また、マスターを昇格させ、スレーブを再構築することもできます。
CommunityEditionとEnterpriseEditionの2つのバージョンがあります。
機能
- バックアップ管理
- 監視とアラート
- 導入とスケーリング
- アップグレードとパッチ適用
- セキュリティとコンプライアンス
- 運用レポート
- 構成管理
- 自動回復と修復
- パフォーマンス管理
- 自動パフォーマンスアドバイザー
インストール
インストールには、自動、手動、またはオフラインインストールを使用できます。
この例では、自動インストールを使用します。
次のスクリプトをダウンロードして、ClusterControlサーバーでroot権限で実行する必要があります。
$ wget http://www.severalnines.com/downloads/cmon/install-cc
$ chmod +x install-cc
$ sudo ./install-cc
次に、パスワードや構成などの情報を入力する必要があります。これで完了です。
構成
インストールが完了すると、サーバーのホスト名またはIPアドレスを使用して、ウェブブラウザでClusterControl UIを開くことができるようになります(例:http://192.168.100.191/clustercontrol/
)。ここでは、デプロイ、インポート、監視など、いくつかのタスクを実行できます。
ClusterControlによってPostgreSQLクラスターをインポートまたはデプロイした後、完全で使いやすいWebインターフェイスからPostgreSQLクラスターを管理できます。
サーバー上で動作するため、どこからでも使用できます。すべてのソフトウェアはClusterControlによってインストールされるため、手動でインストールする必要はありません。
管理者
Adminerは、PHPで記述されたフル機能のデータベース管理ツールです。
これは、ターゲットサーバーに展開する準備ができている単一のファイルで構成されています。
Adminerは、MySQL、MariaDB、PostgreSQL、SQLite、MS SQL、Oracle、Firebird、SimpleDB、Elasticsearch、MongoDBで利用できます。現在のバージョンは4.7で、11月にリリースされました。
機能
- ユーザー名とパスワードを使用してデータベースサーバーに接続します
- 既存のデータベースを選択するか、新しいデータベースを作成します
- テーブルのフィールド、インデックス、外部キー、トリガーを一覧表示します
- テーブルの名前、エンジン、照合、auto_increment、コメントを変更します
- 列の名前、タイプ、照合、コメント、デフォルト値を変更する
- テーブルと列の追加と削除
- フルテキストを含むインデックスによる作成、変更、削除、検索
- 外部キーによるリストの作成、変更、削除、リンク
- ビューから作成、変更、削除、選択
- ストアドプロシージャと関数の作成、変更、削除、呼び出し
- トリガーの作成、変更、削除
- 結果を検索、集計、並べ替え、制限してテーブルにデータを一覧表示する
- 新しいレコードを挿入し、既存のレコードを更新および削除します
- ファイル転送によるすべてのデータ型、blobをサポートします
- テキストフィールドまたはファイルから任意のSQLコマンドを実行します
- テーブル構造、データ、ビュー、ルーチン、データベースをSQLまたはCSVにエクスポートする
- 外部キーで接続されたデータベーススキーマを印刷する
- プロセスを表示して強制終了する
- ユーザーと権限を表示して変更する
- ドキュメントへのリンクを含む変数を表示する
- イベントとテーブルパーティションを管理する
- PostgreSQL
- スキーマ、シーケンス、ユーザータイプ
- 広範なカスタマイズオプション
インストール
Webサーバーで実行されるため、最初にApache2、php、php-pdo、およびphp-pgsqlパッケージをインストールする必要があります。
$ sudo apt install apache2 php php-pdo php-pgsql
管理者のWebページからPHPファイルをダウンロードする必要があります:
$ wget https://github.com/vrana/adminer/releases/download/v4.7.1/adminer-4.7.1.php
そして、PHPファイルをApacheドキュメントルートに移動する必要があります:
$ sudo mv adminer-4.7.1.php /var/www/html/adminer.php
次に、ローカルマシンにインストールする場合は、WebブラウザでURLhttp://localhost/adminer.phpを開く必要があります。
構成
ツールの使用を開始するには、データベースにログインする必要があります。
ログインすると、次のWebページが表示されます。
PHPファイルをWebサーバーのドキュメントルートに配置するだけでよいため、インストールは非常に簡単ですが、インターフェイスは少し古風に見えます。
これはWebアプリケーションなので、Webブラウザを使用するだけでどこからでもアクセスできます。
SQL Workbench / J
SQL Workbench / Jは、DBMSに依存しない、無料のクロスプラットフォームSQLクエリツールです。
これはJavaで記述されており、Javaランタイム環境を提供するすべてのオペレーティングシステムで実行する必要があります。
その主な焦点は、SQLスクリプトの実行とエクスポート/インポート機能です。グラフィカルなクエリ構築やより高度なDBAタスクは焦点ではなく、計画されていません。
機能
- クエリ結果で直接データを編集、挿入、削除します
- テキストファイル、XML、HTML、またはSQLを書き込むための強力なエクスポートコマンド。
- すべてのユーザーテーブルは、1つのコマンドでディレクトリにエクスポートできます。エクスポートファイルは「オンザフライ」で圧縮できます。
- 強力なテキスト、XML、スプレッドシートのインポート。ファイルのセットは、1つのコマンドでディレクトリからインポートできます。データを正しい順序で挿入するために外部キー制約が検出されました
- 違いについて2つのデータベーススキーマを比較します。 XML出力は、XSLTを使用して適切なSQLALTERステートメントに変換できます
- 2つのデータベースのデータを比較し、一方を他方に移行するために必要なSQLステートメントを生成します。
- バッチモードでのSQLスクリプトの実行をサポートします
- コンソールモードでの実行をサポート
- SQLコマンドまたはGUIを使用して、プロシージャ、ビュー、およびその他のソースでテキストを検索します
- SQLコマンドまたはGUIを使用して、すべてのテーブルのすべての列のデータを検索します
- SQLステートメントの再フォーマット
- 外部キーの定義に従って、関連するテーブルから行を選択します
- 対応する値または列を表示するためのINSERTステートメントのツールチップ
- SQLコマンドまたはGUIを使用してデータベースサーバー間でデータを直接コピーします
- 頻繁に使用されるSQLステートメントのマクロ
- 値のスマートプロンプトを含むSQLステートメントの変数置換
- SQLステートメントのテーブルと列のオートコンプリート
- データベースオブジェクトとその定義を表示する
- テーブルソースを表示する
- ビュー、プロシージャ、トリガーのソースコードを表示する
- テーブル間の外部キー制約を表示する
- クエリ結果、SQLステートメント、エクスポート、およびインポートでのBLOBデータの完全なサポート。
インストール
Javaで書かれているので、実行するにはこのソフトウェアが必要です。
まず、システムにJavaがインストールされているかどうかを確認する必要があります。
$ java --version
次に、SQLWorkbenchパッケージをダウンロードする必要があります。
$ wget https://www.sql-workbench.eu/Workbench-Build124.zip
$ unzip -d sqlworkbench Workbench-Build124.zip
これを実行するには、jarフラグを指定したjavaコマンドを使用してsqlworkbench.jarという名前のjarファイルを実行する必要があります。
$ java -jar sqlworkbench/sqlworkbench.jar
構成
PostgreSQLデータベースに接続するには、JDBCドライバーをダウンロードする必要があります。
$ wget https://jdbc.postgresql.org/download/postgresql-42.2.5.jar
$ mv postgresql-42.2.5.jar sqlworkbench/
そして、SQLワークベンチでドライバーを構成します。これを行うには、[ファイル]->[ドライバーの管理]->[PostgreSQL]を選択し、ドライバーを選択します。
次に、[ファイル]-> [接続]ウィンドウに移動し、接続プロファイル情報を入力します。
接続が完了したら、それを使用してデータベースを管理できます。
インストールは簡単ですが、ドライバーをダウンロードして手動で構成する必要があります。また、インターフェースはあまりフレンドリーではありません。
DBeaver
DBeaverは、開発者とデータベース管理者向けの無料のオープンソースユニバーサルデータベースツールです。
MySQL、PostgreSQL、MariaDB、SQLite、Oracle、DB2、SQL Server、Sybase、MS Access、Teradata、Firebird、Derbyなどの一般的なすべてのデータベースをサポートします。
このプロジェクトの主な目標は使いやすさであり、プログラムUIは慎重に設計および実装されています。オープンソースフレームワークに基づいており、さまざまな拡張機能(プラグイン)を作成できます。 JDBCドライバーを持つすべてのデータベースをサポートします。 CommunityEditionとEnterpriseEditionの2つのバージョンがあります。
機能
- 接続マネージャー
- メタデータブラウザ
- SQLエディター
- データビューア/エディタ
- データ/メタデータ検索
- データベース構造の比較
- データ転送(エクスポート/インポート)
- ER図
- クエリマネージャー
- プロジェクト
- 追加ビュー
- ドライバーマネージャー
- サポートされているリレーショナルデータベース
- サポートされているNoSQLデータベース
- サポートされているOS
- PostgreSQL
- 実行計画の説明
- ストアドプロシージャのソース
- ビューDDL
- シーケンス
インストール
まず、パッケージをダウンロードしてインストールする必要があります:
$ wget https://dbeaver.io/files/dbeaver-ce_latest_amd64.deb
$ dpkg -i dbeaver-ce_latest_amd64.deb
次に、次のコマンドを実行してアプリケーションを開きます。
$ dbeaver
構成
アプリケーションを初めて実行するときは、データベース接続を構成する必要があります。
したがって、PostgreSQLを選択して情報を入力する必要があります。
次に、[接続のテスト]を選択して、ドライバーファイルをダウンロードする必要があります。テスト後に次のメッセージが表示されます。
構成が完了すると、DBeaverアプリケーションを使用してデータベースを管理できます。
インストールは基本的に簡単で、インターフェースはフレンドリーで直感的に見えます。
ナビキャット
Navicat for PostgreSQLは、PostgreSQLデータベース開発用の使いやすいグラフィカルツールです。
このツールは、初心者から上級者まですべてに適合し、単純なクエリから開発までのすべてのタスクに適合します。ローカル/リモートのPostgreSQLサーバーに接続し、Amazon Redshift、Amazon Aurora、Amazon RDS、Google Cloud、Microsoft Azure、Alibaba Cloud、Tencent Cloud、Huawei Cloudなどのクラウドデータベース、およびすべてのPostgreSQLデータベースオブジェクトと互換性があります。有料のアプリケーションですが、試用版を使用してテストできます。
機能
- PostgreSQL 7.3以降、およびAWS、Google Cloud、MicrosoftAzureなどのクラウドサービスをサポートします。
- 安全な接続:SSH / HTTP / SSL
- Navicat Cloud
- データビューアおよびエディタ
- SQL処理
- データモデリング
- インポート/エクスポート
- データ操作
- バックアップ/復元
- 自動化
- ユーザーの管理
- サーバーモニター
インストール
まず、Navicatパッケージをダウンロードして解凍する必要があります。
$ wget http://download3.navicat.com/download/navicat121_pgsql_en_x64.tar.gz
$ tar zxvf navicat121_pgsql_en_x64.tar.gz
次に、start_navicatスクリプトを実行して開始する必要があります。
$ cd navicat121_pgsql_en_x64
$ ./start_navicat
これにより、Wineを使用してNavicatアプリケーションが実行され、初期化中に必要な依存関係をインストールするように求められる場合があります。
構成
アプリケーションにアクセスするときは、新しい接続を作成する必要があります。
[接続]->[PostgreSQL]に移動し、情報を入力します。
この後、アプリケーションを使用してデータベースを管理できるようになります。
ソフトウェアはLinux上のWineで実行され、試用期間は14日間です。インターフェースはきれいでフレンドリーに見えます。
結論
このブログでは、PostgreSQL用の最も一般的なGUIツールのいくつかを確認しました。
GUIツールの使用は必須ではありませんが、より使いやすい管理方法を提供することで、日常のDBAタスクの一部を簡単にすることができます。
これらのツールはコマンドラインに代わるものではありませんが(DBAとしてマスターする必要があるため)、非常に便利であり、実際にその恩恵を受けることができます。