データベースの管理や開発を行うにあたって、PostgreSQL(ポストグレスキューエル)の導入を検討しているご担当者様も、いらっしゃるのではないでしょうか。
PostgreSQLは多くの企業が活用しているシステムですが、初めて使う方にとっては難易度の高い操作を求められるかもしれません。
そこで本記事では、PostgreSQLの概要を、基本操作であるデータベース設定やテーブル情報の閲覧方法とともに解説します。
便利なコマンドも多数ご紹介しますので、ぜひご一読ください。
目次
PostgreSQLとは?
PostgreSQLは、リレーショナルデータベース管理システム(RDBMS)の一種です。
データを表で直感的に管理できるうえに、データベースの更新や共有にも役立ちます。
1986年に開発されたPOSTGRESパッケージをベースに、年に一度のアップデートと、数回のマイナーリリースを繰り返しており、今もなお多くの現場で使われています。
2024年12月現在の最新バージョンは、“PostgreSQL 17.2”です。
PostgreSQLがこれだけ長いあいだ使用されている理由としては、オープンソースソフトウェア(OSS)であるという点が挙げられます。
ライセンスコストがかからないだけでなく、特定のベンダーに依存してしまう“ベンダーロックイン”の回避にもつながります。
さらにPostgreSQLは、商用利用も可能です。
独自のライセンスを採用しているので、著作権表示とライセンス条項をコピーに含めれば、商用をはじめとするさまざまな目的で使えます。
スペックに関しても、何度もバージョンアップを繰り返していることから、商用RDBMSに匹敵する性能を有しています。
商用RDBMSと遜色ない機能が無償で使えるのは、PostgreSQLを商用利用する最大のメリットといえるでしょう。
PostgreSQLをインストールする手順
まだインストールがお済みでない方は、これからご紹介する手順を参考に、PostgreSQLを導入してみてください。
無料で使用できるうえに、データベースの確認以外にもさまざまな用途があるため、インストールしておいて損はないはずです。
インストーラーをダウンロードする
始めに、以下のURLからPostgreSQLの公式サイトを開いて、インストーラーをダウンロードします。
PostgreSQL公式サイト:https://www.postgresql.org/
サイトの上部に“Download”ボタンがあるので、クリックしましょう。
その後PostgreSQLのダウンロード画面に移ったら、“BINARY PACKAGES”の項目から、OSの種類を選択できます。
WindowsやmacOS、Solarisなど、ご自身の用途に合ったOSを選んでください。
OSを選んだら、それに応じたダウンロード画面が表示されるはずです。
さらに画面内の赤い“Download the installer”リンクをクリックすると、PostgreSQLのバージョンが一覧になった表が出てきます。
お望みのバージョンを表のなかから見つけて、該当箇所の“Download”ボタンを押すと、インストーラーのダウンロードが開始されます。
なおこの際、特別な事情がない限りは、その時点での最新バージョンを選ぶとよいでしょう。
PostgreSQLをインストールする
インストーラーのダウンロードが完了したら、次はPostgreSQLをインストールする作業です。
PostgreSQLのインストーラーのファイルをダブルクリックしたのちに、表示されるウィンドウの“Next”ボタンを押してください。
続いてインストール場所を指定するのですが、特に希望がない場合はデフォルトのままでよいでしょう。
その後、インストールするコンポネートやデータの設置先であるディレクトリを指定します。
こちらも、指定がなければデフォルトで構いません。
PostgreSQLの各種設定を行う
ここからはインストールの作業に移りますが、その前に、PostgreSQLを使うにあたって必要な設定を行います。
まず設定するのは、アカウントのパスワードです。
パスワードが決まったら、確認用を含めた2箇所に同じ内容を入力し、“Next”ボタンを押します。
続いて、PostgreSQLで通信を行う際に用いる、ポート番号を決めます。
デフォルトで設定されている“5432”で問題ありませんが、ほかの通信に使用している場合は適宜変更してください。
最後に、データベースのロケール(国)を指定します。
デフォルトの“Default locale”ではOSの設定に基づくロケールが選択されます。日本語設定である“Japanese, Japan”を選択するとエラーメッセージが日本語で出力されますが、一方でロケールを使うと文字の処理が遅くなったり、インデックスが使われないといったデメリットが大きい為、ロケールを設定しないことを表す「C」を設定することをお勧めします。
設定は以上となり、最終確認の画面で右下の“Next”ボタンをクリックすると、インストールが開始されます。
psqlの概要と起動方法
データベースを確認する方法へ移る前に、それを実行するうえで必ず押さえておきたい、psql(ピーエスキューエル)についてご説明します。
psqlとは、PostgreSQLに搭載されている、対話形式でデータベースの操作を行うためのフロントエンドインターフェースのことです。
ユーザーが入力したコマンドをPostgreSQLに送り込み、結果を表示させるのが役割です。
これによって、データベースの接続や管理、反復的な作業の自動化などが可能となります。
psqlを起動させる方法はOSによって異なりますが、Windowsの場合は以下の通りです。
Windowsでpsqlを起動させる方法
- コマンドプロンプトを開く
- “psql -U{ユーザー名} -d{データベースの名前}”コマンドを入力する
- パスワードを入力する
Windowsボタンとキーボードの“R”を同時に押して、名前の欄に“cmd”と入力すると、コマンドプロンプトが開きます。
コマンドプロンプトが開けたら、 “psql -U{ユーザー名} -d{データベースの名前}”コマンドを入力してください。
ここまでの操作がうまくいっていれば、次にパスワードの入力を求められるはずです。
PostgreSQLのインストール時に設定したパスワードを入れて、“{データベースの名前}=#”と表示されれば、psqlの起動は完了です。
PostgreSQLでデータベースを確認する方法
psqlを起動させる方法がわかったところで、ここからは、PostgreSQLにおけるデータベースの設定やテーブル情報の閲覧方法を解説します。
psqlコマンドを使う(対話型)
データベースの一覧をPostgreSQLで確認する場合に使用されるのが”lオプション”です。
psqlコマンドから”lオプション”を利用する場合は、psql上で”\l”と入力することで、すぐにデータベースの一覧を表示できます。
シェルコマンドを使う(非対話型)
コマンドプロンプト等からシェルコマンドを使うことで非対話形式でもデータベースを確認することができます。
コマンドプロンプトを起動したら、“psql -l -p{ポート番号} -h{ホスト名}”とシェルコマンドを入力します。
これによって、指定したポート番号やホスト名に関するデータベースを表示できます。
なお、ポート番号やホスト名を指定せずにシェルコマンドを実行すると、ローカルに存在するデータベースがすべて表示されるため、こちらも合わせて覚えておくとよいでしょう。
pg_databaseから取得する
続いて、pg_databaseからデータベースの情報を取得する方法をご紹介します。
pg_databaseは、データベースをはじめとするさまざまな情報を管理している、PostgreSQLのシステムカタログの一つです。
以下のコマンドを使えば、データベースに関する情報を簡単に確認できます。
“SELECT * FROM pg_database;”
pg_databaseの主なカラム
名前 | 型 | カラムの意味 |
datname | name | データベースの名前 |
datdba | oid | データベースの所有者 |
datcollate | name | データベースの照合順序 |
datallowconn | bool | データベースへの接続の可否 |
datconnlimit | int4 | データベースへの同時接続の最大数 |
datacl | aclitem | データベースのアクセス権の一覧 |
ここに掲載しているのはほんの一部で、ほかにも便利なコマンドが多数存在します。
pg_databaseの活用を検討しているご担当者様は、業務に役立つコマンドがないかどうか、探してみてはいかがでしょうか。
psqlの便利なコマンド
最後に、psplの操作をより快適にできるコマンドを4つご紹介します。
業務の効率化に、ぜひお役立てください。
テーブルの情報を確認する(\d)
psqlで行える代表的な操作として、テーブルにあるデータの確認が挙げられます。
“\d{テーブル名}”コマンドをpsql上で実行すると、指定したテーブルの列名やデータ型などの定義情報を閲覧できます。
また\dに続く部分を書き換えれば、インデックスやシーケンスといった、テーブル以外の情報を表示させることも可能です。
テーブルの一覧を確認する(\dt)
“\dt”コマンドを使えば、データベース内のテーブルを一覧で表示できるため、テーブル構造の把握やデータの整理に役立ちます。
さらに、類似するコマンドを活用することで以下のデータもまとめられます。
\dtに類似するコマンドでまとめられるテーブル以外のデータ
- インデックス(\diコマンド)
- シーケンス(\dsコマンド)
- ビュー(\dvコマンド)
確認するデータに応じて、コマンドを使い分けてください。
実行結果を見やすくする(\x)
表における列を意味する“カラム”が多すぎて実行結果の視認性が悪い場合には、“\x”コマンドを使ってデータを整理しましょう。
\xコマンドを実行すれば、クエリやメタコマンドなどの実行結果を、縦一列に表示(拡張表示)できます。
「拡張表示でかえって見にくくなった」と感じたときは、再び\xコマンドを実行することによって、カラムをもとの並びに戻せます。
実行結果をファイルに出力する(\o)
ターミナル以外でクエリの実行結果を確認、もしくは保存したいときには、“\o”コマンドが便利です。
psqlで“\o{ファイルパス}”を実行すると、指定のファイルに実行結果を出力できます。
複数のクエリを同時に比較できるようになるので、パフォーマンスの改善や計算式の修正を行う際に役立つでしょう。
なお\xコマンドと同様に、もう一度\oコマンドを入力すれば、実行結果をターミナルへの出力に戻すことも可能です。
PostgreSQLはオープンソースのRDBMS!psqlコマンドやカタログを利用してテーブルやデータベースの情報も確認できる
今回は、PostgreSQLの概要を、データベースの設定情報などの閲覧方法とともに解説しました。
PostgreSQLは、データを表で管理するRDBMSの一種です。
無料で使えるうえに、商用利用も可能なことから、多くの技術者に愛用されています。
\lコマンドやシェルコマンドを活用すれば、データベースやテーブルの情報も確認できます。
もう一歩踏み込んで「PostgreSQLとほかのデータベースをまとめて管理したい」「データベースのパフォーマンスも監視したい」とお考えのご担当者様には、Database Performance Analyzer(DPA)の導入がおすすめです。
コーソルが導入支援を行っているDPAであれば、複数のデータベースを一元で管理でき、遅延の発生しているSQLを簡単に特定できるので、データベース運用の効率が大幅に向上します。
ほかにも、データベースを快適に管理できるサービスを多数ご用意しておりますので、まずはお気軽にご相談ください。