株式会社コーソル
COLUMN

コーソルのお役立ちコラム

コーソルでは経験豊かなエンジニアが、Oracle Databaseに関するお役立ち情報を発信しています。
データベースのチューニングや設定にお役立ていただけます。

SQL

公開日  更新日

PostgreSQLとは?データベースの設定を確認する便利なコマンドも解説

データベースの管理や開発を行うにあたって、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を起動させる方法

  1. コマンドプロンプトを開く
  2. “psql -U{ユーザー名} -d{データベースの名前}”コマンドを入力する
  3. パスワードを入力する

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を簡単に特定できるので、データベース運用の効率が大幅に向上します。
ほかにも、データベースを快適に管理できるサービスを多数ご用意しておりますので、まずはお気軽にご相談ください。

この記事の監修者

監修者の写真

舛井 智行 (ますい ともゆき)

営業本部 企画&マーケティング部 次長

《資格》

Oracle Master Gold、Oracle RAC Expert、Linux Expert、LPIC Level1、Dbvisit Standby Certified Associate、基本情報技術者

《略歴》

2004年コーソル入社。2019年まで一貫してOracle Databaseの設計・構築・運用のサービス提供に従事。リモートDBAやリモート監視のサービス化、働き方改革プロジェクトで人事制度改革を手掛ける。2019年からライセンス販売強化のため企画&マーケティング部に異動。DbvisitやToad、DPAの取扱開始、販売促進活動を推し進め、ライセンス販売事業の売上拡大に注力中。

《主な著書》

オラクルマスター教科書 Gold DBA Oracle Database AdministrationⅡ
オラクルマスター教科書 Silver DBA Oracle Database Administration I
オラクルマスター教科書 Silver SQL Oracle Database SQL
Oracleの基本 ~データベース入門から設計/運用の初歩まで
プロとしてのOracle入門
Oracle Database 10g Oracle Enterprise Manager 逆引きクイックリファレンス

《担当者様からの一言》

コーソルはOracle Databaseの技術力において日本有数の知見を有すると自負しています。Oracle Masterの最高峰資格である『Oracle Master Platinum』の取得者数も日本No.1です。Oracle Databaseのことはもちろん、それ以外のDBについてもリモートDBAサービスを始めとした様々なサービス、製品を駆使してお客様のお困りごとを解消いたします。お困りごとがあればコーソルまでご相談ください。

監修者の写真

峯岸 隆一 (みねぎし りゅういち)

インフラソリューション部 市ヶ谷クラウドサービスチーム シニアエキスパート

《資格》

Oracle Master Gold、ORACLE MASTER Platinum、Oracle RAC Expert、
Oracle Database Cloud Service Oracle Infrastructure as a Service Cloud 2017 Implementation Essentials、
Oracle Cloud Infrastructure 2018 Architect Associate、
Oracle Cloud Infrastructure 2019 Architect Professional、
AWS Certified Solutions Architect – Associate、OSS-DB Silver、
MySQL 5.6 Database Administrator、基本情報技術者、テクニカルエンジニア(データベース)

《略歴》

2006年コーソル入社。2021年までOracle Databaseを中心にMySQLやGoldenGateなど、多岐にわたる製品のサポート業務に従事。2021年から企画&マーケティング部に異動し、Nutanix NDBサービス化、Qlik Replicateサービス化、AWS、OCIなど様々な製品のサービス化、クラウド環境上の製品検証、ブログ執筆を手掛ける。2023年からOCI技術に磨きをかけるべくOCI基盤の設計・構築業務を遂行中 。

《主な著書》

オラクルマスター教科書 Gold DBA Oracle Database AdministrationⅡ
オラクルマスター教科書 Silver DBA Oracle Database Administration I
オラクルマスター教科書 Silver SQL Oracle Database SQL  Oracleの基本 ~データベース入門から設計/運用の初歩まで

《担当者様からの一言》

コーソルはOracle Database製品および周辺製品において特化した技術力を有している会社です。また、育成にも力を入れており、新卒などOracle Databaseの知識がないエンジニアでも数年でOracle Master Platinumを取得するほどのエンジニアに育て上げることに成功しています。クラウド分野(AWS、Oracle Cloud)にも積極的に進出しておりますので、Oracle Databaseに関するサービスをご要望であればプラットフォーム問わず対応できるコーソルにご連絡下さい。

TOP