🧚 お知らせ!Beekeeper Studio は高速でモダンなオープンソースの PostgreSQL GUI です ダウンロード
2024年4月9日 著者: Matthew Rathbone

はじめに

テーブルの作成、リレーションの確認、レポートの生成といったデータベース管理作業に携わっているなら、PostgreSQL の information_schema を理解しておくと非常に役立ちます。このチュートリアルでは、コード例を交えながら PostgreSQL の information_schema の基本を解説します。

このチュートリアルは主に PostgreSQL 向けに書かれていますが、一部の概念は他の SQL リレーショナルデータベースにも応用できます。

本題に入る前に、モダンで高速な PostgreSQL データベースマネージャーである Beekeeper Studio をご紹介させてください。スキーマの確認がとても簡単になり、PostgreSQL では無料でお使いいただけます。こちらからダウンロードできます。

Information_Schema とは?

information_schema は、PostgreSQL データベースにおいて「現在のデータベース」のメタデータへのアクセスを提供する重要な機能です。本質的には、「現在のデータベース」内のさまざまなオブジェクトに関する情報を含むビューの集まりです。テーブルからカラム、制約に至るまで、PostgreSQL の information_schema はデータベース構造の詳細を提供します。

SELECT *
FROM information_schema.tables;

たとえば Beekeeper Studio の SQL エディタで上記のコマンドを実行すると、現在のデータベース内のテーブル一覧が表示されます。

さらに詳しく

public テーブルの表示

現在のデータベースで利用可能なすべての public テーブルを一覧表示するには、次を実行するだけです:

SELECT table_name 
FROM information_schema.tables 
WHERE table_schema='public';

このコマンドは、「現在のデータベース」の「public」スキーマにあるすべてのテーブル名の一覧を返します。

「chinook」サンプルデータベースでの出力

table_name
artist
album
employee
customer
invoice
invoice_line
track
playlist
playlist_track
genre
media_type

カラムの確認

information_schema.columns ビューを使うと、特定のテーブルのカラムに関する詳細な情報を取得できます:

SELECT column_name, data_type 
FROM information_schema.columns 
WHERE table_name ='album';

このコードは、選択したテーブルのすべてのカラム名とそのデータ型の一覧を返します。

「chinook」サンプルデータベースでの出力

column_name data_type
album_id integer
artist_id integer
title character varying

制約の表示

information_schema.table_constraints ビューは、テーブルに定義された制約に関する情報を提供します。
特定のテーブルの制約を取得するには、次のクエリを使用します:

SELECT constraint_name, constraint_type 
FROM information_schema.table_constraints 
WHERE table_name='album';

このコマンドを実行すると、「your_table」の制約名と種類が出力され、このテーブルに適用されているルールを把握できます。

「chinook」サンプルデータベースでの出力

constraint_name constraint_type
album_pkey PRIMARY KEY
album_artist_id_fkey FOREIGN KEY
2200_65375_1_not_null CHECK
2200_65375_2_not_null CHECK
2200_65375_3_not_null CHECK

まとめ

PostgreSQL の information_schema は、データベースの構造や詳細を調べて理解するための重要なツールです。どのように活用するかは、具体的なニーズやデータベースの構成によって異なります。サンプルコマンドを正しく実行するには、サンプルのテーブル名やカラム名をお使いのデータベースのものに置き換えてください。

注: このチュートリアルの例はすべて PostgreSQL(バージョン 9.4 〜 13.3)向けであり、他のデータベースエンジンとは互換性がない場合があります。クエリは必ず使用しているデータベースエンジンに合わせて調整してください。PostgreSQL の information_schema を活用すれば、データベースの調査作業をより簡単かつ効果的に、そして大幅に短い時間で行えます。

Beekeeper Studio は無料のオープンソース PostgreSQL GUI です

まさに探していた PostgreSQL クライアントです!UI が他とは一線を画しています。クリーンで直感的、そしてパワフル。使いにくい PGAdmin とはお別れです。 - David Cyprian

Beekeeper Studio は高速で直感的、使いやすい PostgreSQL クライアントです。他にも多数のデータベースに対応しており、Windows、Mac、Linux で快適に動作します。

BeekeeperのLinux版は100%フル機能。手抜きも機能の妥協も一切ありません。

Beekeeper Studio に寄せられた PostgreSQL 利用者の声

Jay Simons Jay Simons Designly.biz オーナー

pgAdmin と違って、Beekeeper は驚くほどシンプルに使えるのに機能も十分で、価格も手頃です!データベースのバックアップ機能は特に便利です。本当に素晴らしいソフトウェアです。

Alex M

素晴らしいツールです。Postgres と MySql の DB 管理用として、これまで見つけた中で最も実用的な IDE です。面倒なことなく、ちゃんと動きます :-)

PostgreSQL ワークフローを改善しませんか?

download 無料でダウンロード